【问题标题】:Customized Exception is checked or unchecked Exception?Customized Exception是checked还是unchecked Exception?
【发布时间】:2015-07-07 09:29:28
【问题描述】:

自定义异常是Checked Exception还是Unchecked Exception?怎么样?

【问题讨论】:

  • 如果它继承自RuntimeException,则未选中。否则检查。
  • 在 Exception 类下,有 RunTimeException (Unchecked) 和其他 Checked Exceptions。那么我们如何确定我们自定义的异常是否继承了 Exception 类?
  • 检查是否继承自RuntimeException

标签: java exception exception-handling unchecked-exception


【解决方案1】:

如果你这样做:

public class CustomException extends Exception

那么你的 CustomException 就是检查异常

如果你这样做:

public class CustomException extends RuntimeException

那么你的 CustomException 就是未经检查的异常

【讨论】:

  • 在 Exception 类下,有 RunTimeException (Unchecked) 和其他 Checked Exceptions。那么我们如何确定我们自定义的异常是否继承了 Exception 类?
  • 由编译器处理。它检查层次结构,基本上创建了检查的异常,因为它们可能发生在程序中的许多点并且从它们中恢复是困难或不可能的,开发人员可以在代码中处理它们。
【解决方案2】:

如果一个异常继承自RuntimeException,那么它就不会被选中。否则检查。

【讨论】:

  • 如果只是继承Exception类?
  • 如果它只是继承自Exception,那么它会被检查。
【解决方案3】:

这取决于它继承了什么。如果您的自定义异常是RuntimeException 的子类,那么它就是unchecked 异常。

如果您的自定义异常扩展了Exception 类,那么它就是已检查 异常。

查看Differences between Runtime/Checked/Unchecked/Error/Exception了解更多详情

【讨论】:

    【解决方案4】:

    依赖于继承。如果它从 RuntimeException 继承,则未选中。否则检查

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-28
      • 1970-01-01
      • 2019-01-31
      • 1970-01-01
      • 2021-04-24
      相关资源
      最近更新 更多