异常层次
1) 起源于Error的类代表不常用的环境(通常是硬件层面);
2) 应用程序不能够从Error中恢复正常;
3) 所有的Java异常都起源于Exception;
4) RuntimeExcepiton也称为未检查异常;
5) 未检查异常无须捕获;
6) 其它异常,也称为检查异常,必须处理
Object
↑
Throwable
↑
|ˉˉˉˉˉˉˉˉ|
Error Exception
| ↑
| |ˉˉˉˉˉˉˉ|
RuntimeException
1) 起源于Error的类代表不常用的环境(通常是硬件层面);
2) 应用程序不能够从Error中恢复正常;
3) 所有的Java异常都起源于Exception;
4) RuntimeExcepiton也称为未检查异常;
5) 未检查异常无须捕获;
6) 其它异常,也称为检查异常,必须处理
Object
↑
Throwable
↑
|ˉˉˉˉˉˉˉˉ|
Error Exception
| ↑
| |ˉˉˉˉˉˉˉ|
RuntimeException
一些未检查的异常
1) java.lang.ArithmeticException 如:除0;
2) java.lang.NullPointerException 如:没初始化一个References便使用;
3) java.lang.ArrayIndexoutofBoundsException 如:调用一个有十个元素的Array的第十一个元素的内容;
4) java.lang.NumberFORMatException 如:Integer.parseInt("a");
一些已检查的异常
1) java.lang.ArithmeticException 如:除0;
2) java.lang.NullPointerException 如:没初始化一个References便使用;
3) java.lang.ArrayIndexoutofBoundsException 如:调用一个有十个元素的Array的第十一个元素的内容;
4) java.lang.NumberFORMatException 如:Integer.parseInt("a");
一些已检查的异常
如:FileNotFoundException、IOException等
========================================================
容易混淆的概念:
RuntimeExcepiton为未检查的异常 ,也称运行时异常。这类异常可以不做处理,因为这类异常很普遍,全部处理可能对程序的可读性和运行效率产生影响。
其它异常(non-RuntimeException)称为已检查的异常,也称非运行时异常。必须处理。因为,对于这类异常来说,如果程序不进行处理,可能会带来意想不到的结果。
转载于:https://blog.51cto.com/fluagen/38611