我的问题是为什么JVM在执行期间抛出RuntimeException
不像
编译时抛出的Exception
,即使RuntimeException
extends Exception
。
这种行为差异在何处以及如何定义?
答案 0 :(得分:3)
JavaDoc说: -
<强> 11.1.1。各种异常
RuntimeException类是Exception的直接子类。 RuntimeException是可能存在的所有异常的超类 在表达式评估过程中抛出了很多原因,但是从中可以看出 恢复可能仍然可能。
RuntimeException及其所有子类统称为运行时异常类。
<强> 11.3。异常的运行时处理
当抛出异常时(§14.18),控制权从中转移 导致异常的代码到最近的动态封闭 如果有的话,可以处理的try语句(§14.20)的catch子句 异常。
语句或表达式由catch子句动态包含,如果 它出现在try语句的try块中 catch子句是一个部分,或者如果是语句的调用者或者 表达式由catch子句动态包含。
答案 1 :(得分:1)
请参阅教程以获取帮助:Exceptions tutorial