【问题标题】:Java checked and unchecked exceptionsJava 检查和未检查异常
【发布时间】:2015-04-21 05:02:55
【问题描述】:
  1. 如果我创建一个扩展 Exception 的异常类,我的类是被选中还是未选中?我注意到Exception 的子类RuntimeException 是未经检查的异常,而“Exception”的所有其他子类都是经过检查的异常。

  2. 如果我创建一个扩展 RuntimeException 的异常类,我可以指定检查这个类吗?

【问题讨论】:

标签: java exception checked unchecked


【解决方案1】:

1) 已检查

2) 没有

如果你扩展 Exception -> 检查

如果你扩展 RuntimeException -> 未选中

来自文档:

类 {@code Exception} 和任何不属于的子类 * 检查 {@link RuntimeException} 的子类 * 例外

【讨论】:

    【解决方案2】:

    检查异常,除非它们继承自 RuntimeException 或 Error

    【讨论】:

      【解决方案3】:

      如果您的类扩展了 Exception,它可以抛出已检查的异常。

      如果您的类扩展了 Error 或 RuntimeException,它可能会抛出未经检查的异常。

      【讨论】:

        【解决方案4】:

        如果您创建扩展 Exception 的类,它将被检查。您不能将 RuntimeException 指定为已检查,因为它是未经检查的异常

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多