19.异常处理:
A.捕获处理:
try {
//需要被检测的语句。
}
catch(异常类 变量) { //参数。
//异常的处理语句。
}
finally {
//一定会被执行的语句。
}
//首先执行try里面的语句,如果发现异常,直接跳入catch
//如果没有出现异常,就不会执行catch语句
B.抛出去:
C.分类:
运行时期异常:在编译时期可以选择不处理
编译时期异常:在编译时期必须处理(抛出或者捕获)
父类有异常,子类也有异常
D.如何处理多个异常:
就是使用异常的父类exception(父类要放在其他处理异常的后面,平级之间没有顺序关系)E.Throwable的常用方法:
//String getMessage() : 原因 System.out.println(e.getMessage());
//String toString() 类型和原因 System.out.println(e.toString());
//void printStackTrace():类型原因和位置 e.printStackTrace();
可以有快捷方式:alt+shift+z
F.自定义异常:
throws:处理异常的一种方式,把异常抛出,由调用者来处理
throw:制造异常的方式,并且结束方法
注意:如果抛出(throw)的是编译时期异常,必须在方法声明处抛出(throws)
快捷键Ctrl+o可以查找源码
如何自定义一个异常类呢?
写一个类去继承Exception或者RuntimeException,然后实现多个构造即可
注意:父类没有抛出异常,子类也不能抛出异常。子类的遗产只能捕获处理 |
|