-
异常处理的套路模板:
try//创建异常处理{
throw new();//抛出异常
//一旦有异常, 抛出异常后,后面的语句不再执行
语句;{
……
}
}
catch(抓捕什么类型的异常){
语句:{
……
}
}
-
异常处理的特点:
-
异常类型分类:
-
异常处理的操作
使用:
public void get() throws Exception类型
定义:检测一个错误的程序可以创建一个正确异常类型的对象并抛出它,这称为抛出一个异常
使用:
注意:
使用:
catch(引用异常类型 变量名)//捕获异常{
语句;
}
-
从异常中获取信息
例如:下面可以利用java.lang.Throwable类中的实例方法获取有关异常的信息
-
getMessage();String
-
toString ();String
-
printStackTrace(); void
-
finally子句
作用:不论异常是否出现或者是被捕获,都希望执行某些代码。这时候就用finally子句
使用:
try{
}
catch(theException ex){
}
finally{
}
-
何时使用异常:
场景:一般来说,一个项目中多个类都会发生的共同异常应该考虑作为一种异常类。对于发生在个别方法中的简单错误最好进行局部处理,无需抛出异常。
-
重新抛出异常
场景:如果异常处理没有处理某异常,或者处理器只是希望它的调用者注意到该异常,就允许java异常处理器重新抛出该异常
使用:
try{
}
catch(Exception ex){
throw ex;
}
-
链式异常
package demo1;
public class Demo4 {
//链式异常
public static void main(String[] args) {
try {
method1();
}
catch(Exception ex) {
ex.printStackTrace();
}
}
public static void method1() throws Exception {
try {
}
catch(Exception ex) {
throw new Exception("new info from method1",ex);
}
}
public static void method2() throws Exception {
throw new Exception("new info from method2");
}
}