【问题标题】:What is the built in base class to handle all exceptions in Java处理Java中所有异常的内置基类是什么
【发布时间】:2014-05-08 06:35:27
【问题描述】:

在 Java 中处理所有异常的内置基类是什么? 是异常还是可抛出?

两个内置类有什么区别,谁能解释一下。

【问题讨论】:

  • 阅读Error的文档并将其与Exception的文档进行比较,两者都是可抛出的,但含义不同。
  • stackoverflow.com/questions/2129647/… 看看这个。这可能会解决您的问题。

标签: java exception exception-handling throwable


【解决方案1】:

下图将帮助您了解Exception Hierarchy

图片参考:programcreek:

如您所见,ThrowableErrorException 的超类,而Exception 处理已检查和未检查的异常。

Exception

The term exception is shorthand for the phrase "exceptional event."

Throwable:

Throwable 类是 Java 语言中所有错误和异常的超类。只有作为此类(或其子类之一)的实例的对象才会被 Java 虚拟机抛出或者可以被 Java throw 语句抛出。同样,只有此类或其子类之一可以是 catch 子句中的参数类型。出于对异常的编译时检查的目的,Throwable 和任何不是 RuntimeException 或 Error 子类的 Throwable 子类都被视为已检查异常。

【讨论】:

  • 你从哪里得到这张照片的?
  • 我知道 google,但如果您在此处粘贴信息,最好提及来源。一是学分,二是供读者参考。他们可能想知道您的声明的来源,以便他们可以信任它并在他们感兴趣的情况下更深入地挖掘该资源。比较您说的“来自 javadocs ...”的其他答案
  • @chiccodoro 接受了先生。从下次开始。谢谢。
  • 没有什么能阻止您编辑答案和添加 URL。顺便说一句,我喜欢你的回答。我只是在参考滑入的那一刻保持我的赞成票;-)
  • @chiccodoro 添加了先生 :)
【解决方案2】:

javadocs 就是为此而生的。在这里您可以看到Throwable 是所有ExceptionsErrors 的超类。然后你检查和取消检查Exceptions,后者是RuntimeException及其所有子类。

当您对此类问题感到疑惑时,请记住使用 Google,因为所有这些信息都随处可见,并且可以通过搜索引擎轻松找到。

【讨论】:

    【解决方案3】:

    来自javadocs

    类异常

    java.lang.Object
     |
     ->java.lang.Throwable
        |
        ->java.lang.Exception
    

    希望这能消除疑虑。

    【讨论】:

      【解决方案4】:

      上面的回答非常有用。我只想补充:

      • 主基类: java.lang.Object

      • 主异常类: java.lang.Throwable

      • 主异常类扩展Throwablejava.lang.Exceptionjava.lang.Error

      • Unchecked 类扩展Exception 扩展Throwablejava.lang.RuntimeException

      【讨论】:

        猜你喜欢
        • 2012-04-28
        • 1970-01-01
        • 1970-01-01
        • 2020-12-30
        • 2013-04-20
        • 1970-01-01
        • 1970-01-01
        • 2012-04-08
        • 1970-01-01
        相关资源
        最近更新 更多