异常的体系1

「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」。

茫茫人海千千万万,感谢这一秒你看到这里。希望我的文章对你的有所帮助!

愿你在未来的日子,保持热爱,奔赴山海!

题记:昨天我们了解了异常是什么?其他它在Java中是在程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。那对于在Java中啊,它的体系可谓是相当庞大,接下来就让我们一起瞧瞧呗!

😄异常的大体系

  • 我们先来看下异常体系结构:

    异常体系结构

  • 可以看出异常类的整体继承关系,当然上图不是所有的异常,也有很多子类没有列出,这里先列出了比较常用的异常类。当然,用户自己也可以自定义异常实现。

📫 Throwable

所有的异常都是从Throwable继承而来的,是所有所有错误与异常的超类。Throwable包含了其线程创建时线程执行堆栈的快照,它提供了 printStackTrace()等接口用于获取堆栈跟踪数据等信息。

  • 而Throwable体系下包含有两个子类,Error(错误)和Exception(异常),它们通常用于指示发生了异常情况。二者都是 Java 异常处理的重要子类,各自都包含大量子类。

📪 Error(错误)

  • 定义:Error类及其子类。程序中无法处理的错误,表示运行应用程序中出现了严重的错误。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM出现的问题。
  • 特点:对于所有的编译时期的错误以及系统错误都是通过Error抛出的。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时。通常有如Virtual MachineError (虚拟机运行错误)等。当 JVM不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError(内存不出错误),还有StackOverflowError(栈溢出错误)等。这些异常发生时,JVM一般会选择线程终止
  • 注意:这些错误是不受检异常,非代码性错误,不可查的。因为它们在应用程序的控制和处理能力之 外,而且绝大多数是程序运行时不允许出现的状况。对于设计合理的应用程序来说,即使确实发生了错误,本质上也不应该试图去处理它所引起的异常状况。因此,当此类错误发生时,应用程序不应该去处理此类错误。

🌸总结

相信各位看官都对异常的体系有一定大概的了解吧,那我们继续期待下一章的异常更多的内容吧!欢迎期待下一章的到来!

让我们也一起加油吧!本人不才,如有什么缺漏、错误的地方,也欢迎各位人才大佬评论中批评指正!当然如果这篇文章确定对你有点小小帮助的话,也请亲切可爱的人才大佬们给个点赞、收藏下吧,一键三连,非常感谢!

学到这里,今天的世界打烊了,晚安!虽然这篇文章完结了,但是我还在,永不完结。我会努力保持写文章。来日方长,何惧车遥马慢!

感谢各位看到这里!愿你韶华不负,青春无悔!

\