【问题标题】:How does JVM handles RuntimeException(s)JVM 如何处理 RuntimeException(s)
【发布时间】:2014-09-08 01:15:46
【问题描述】:

在创建自定义异常时,如果我们想创建 checked 异常,我们扩展 Exception 类,对于 unchecked 异常,我们扩展 RuntimeException 类。 我的问题是,当它们都是 Exception 类的子类时,JVM 如何以不同的方式处理 RuntimeException 和 Exception 的子类。

【问题讨论】:

    标签: java exception-handling jvm checked-exceptions unchecked-exception


    【解决方案1】:

    它没有。唯一的区别在于编译器强制执行的要求。

    【讨论】:

      【解决方案2】:

      您误认为 JVM 以不同方式处理异常,但如果您询问 编译器 如何以不同方式处理异常,您的问题仍然有效。

      这有一个简单的答案:规则并没有说明Exception 的所有子类都是检查异常。那些也是RuntimeException 的子类的都是未选中的。

      【讨论】:

      • 感谢William 的回复,其实这是我关心的问题。两个属于 instanceof 类型的子类 Exception 仍然由编译器以不同方式处理。此外,您说“规则没有说明 Exception 的所有子类都是检查异常”,但是为什么 Exception(only) 的每个子类都被视为检查异常。
      • 我不明白你的问题:Exception 的每个子类(不是RuntimeException 的子类)都被视为已检查异常,这就是定义。 “怎么来”是什么意思?
      • @gaurs, ""但是为什么 Exception(only) 的每个子类都被视为已检查异常。"" 它检查 instanceof RuntimeException 是否然后 -> 未检查异常! else if instanceof Exception then -> Checked Exception !
      猜你喜欢
      • 2014-12-26
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多