Mosh_Java笔记 P3-1 异常
- 高级Java特性
提升robust,健壮性
1. 什么是异常
2. 不同类型的异常
checked -Java编译器会在编译时检查他们,如文件不存在等,会在编译时就报错,在Ide中报红
uncheced -运行时异常,
3. 异常类的层级
如空指针异常的层级
4. 如何处理异常
try - catch语句
也可以用alt+Enter自动创建try-catch语句
5. 捕捉多种类型的异常
写多个catch语句来捕捉多种类型的异常
需要注意的是,
- 如果前面的catch已经执行抛出异常,那么后面的catch将会被跳过
- 更具体的异常不能放在更宽泛的异常的后面。例如IOE异常和FileNotFound异常种,后者是更具体的异常,若将其放在后面的catch,则会报错
- 如果我们想用同样的方法去处理不同的异常,可以 通过|分割,如
6. finally block
finally是一块无论是否有异常总会执行的一个代码块
7. tri-with-statement语句,如
8.抛出异常
-
throw用于抛出运行时异常
-
如果要抛出检查异常,可以交给方法的调用者去处理异常
-
重新抛出异常 rethrow
这是为了确保无论抛出什么异常,用户都可以得到报错信息
9. 自定义异常
10. chaining exception
讲一个异常包裹在一个更一般的异常中