java异常种类:
1
1.异常处理方法
处理方法:
1.
try{
try语句;
}catch(Exception1 e){
catch语句;
}
catch(Exception2 e){
catch语句;
}
...
finally{
finally语句;
}
注意:
- try语句不可独立存在。
- 多重catch语句时,catch的错误类型应遵循子类在前,父类在后的原则。
- 若是try、catch、finally中没有return语句,则会执行try…catch…finally语句块之后的return语句。
- 若是catch语句块中有return语句且存在finally语句块,则会在catch语句块中的return语句执行前先执行finally语句块中的内容,最后在执行catch语句块中的return语句。
2.抛出异常
抛出异常所使用的关键字是throw和throws
语法格式为:
修饰符 返回值类型 方法名(参数表) throws 异常列表{
语句;
...
throw new Exception();//将异常向上级抛
...
语句;
}
注意:
- throws后的异常列表表示可能出现的异常,多个异常之间用逗号隔开
3.自定义异常
自定义异常示例:
public class CustomException extends Exception{
public CustomException(){}
public CustomException(String message){//message为错误信息
super(message);
}
}
..自己理解
4.异常链(包装异常)
步骤:
- 使用try…catch捕获下级抛出的异常
- 在catch语句中对捕获的异常进行包装并抛出
catch(Exception e){
Exception newExc = new Exception("错误信息");
newExc.initCause(e);
throw newExc;
}
//或者
catch(Exception e){
Exception newExc = new Exception(e);
throw newExc;//这样子就会比上面一种方式少输出一个"错误信息"
}
5.经验总结
- 尽量使用finally语句去释放无用内存
- 多重catch语句之后,也可以加一个catch(Exception e)去捕获意料之外的异常
- 碰到异常尽量处理
- 截取自imooc ↩