对于Exception分为两种:
1.编译时被检测的异常。(也即这些异常必须在catch块中进行处理,否则编译报错。)
2.编译时不被检测的异常(运行时异常,RuntimeException以及其子类)
RuntimeException(运行时异常)是Exception的一个特殊的子类异常
1.若函数内throw了RuntimeException及其子类的异常,那么函数上不用throws声明。
2.如果在函数上声明了该异常,调用者可以不用进行处理。
之所以不用在函数上声明,是因为不需要让调用者处理。
当该异常发生,希望程序停止,因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。
自定义异常时,如果该异常的发生,无法再继续进行运算,就让自定义异常继承RuntimeException。
|