每日一学--Java Throwable类及其子类


参考链接

概览视图

每日一学--Java Throwable类及其子类

详细介绍

每日一学--Java Throwable类及其子类
throwable存在两个子类:

Error类(错误)

每日一学--Java Throwable类及其子类
就是程序运行时候抛出的最严重级别的错误,如VirtualMachineError,ThreadDeath。抛出了Error的程序从Java设计的角度来讲,程序基本不可以通过后续代码修复,从而理应终止。当然,从语法上来讲,所有这些都可以被写进catch里面,但是Error因为上述原因,不应该被代码处理。

Exception类(异常)

每日一学--Java Throwable类及其子类
分为checked和unchecked。

checked Exception就是在写代码的时候,IDE(比如Eclipse)会要求你写try catch的那种Exception,比如IOException。这种Exception是Java的设计者要求你的程序去处理的。这种异常一般不会影响程序的主体,容易手动诊断修复,所以Java要求你在catch下面写出处理的代码,以保证程序遇到此类exception之后还可以正常运行。

unchecked这一类就是你在代码处理了checked exception之后,你在运行时候依然会遇到的exception,所以又叫做RunTimeException,比如NullPointerException, IndexOutOfBoundsException。此类exception相较于前面那种更容易影响程序运行,从设计者角度不提倡从程序中catch出来并处理,当然你也可以这么做。