本帖最后由 Mr_Free 于 2013-7-25 21:09 编辑
一般的异常在函数内抛,必须在函数上声明,否则编译失败。
RuntimeException 及其子类在函数内抛,不需要在函数上声明,编译一样通过。如果在函数上声明了该异常,调用可以不用进行处理。
为什么不声明?就是为了让他不处理这个异常。当该异常发生,希望该程序停止,在运行时,出现了无法处理的问题,希望程序停止后,程序员修正代码。
补充一下:RuntimeException 属于运行时异常,就是在编译时后不会被检测到的异常。所以不用声明,编译也会通过。而一般的exception是编译时异常,就是在编译的时候就必须被处理(或者throw或者try)的异常。
|