异常的体系3(异常的体系结构)
异常的大体系
异常体系结构:
????受检异常与非受检异常
通常,Java的异常(Throwable)分为受检异常(checked exceptions)和非受检异常(unchecked exceptions)。
???? 受检异常
编译器要求必须处理的异常。
正确的程序在运行过程中,经常容易出现的、符合预期的异常情况。一旦发生此类异常,就必须采用某种方式进行处理。除了Exception中的 RuntimeException 及其子类以外,其他的 Exception类及其子类异常就是非运行时期异常都属于受检异常。
这种异常编译器会检查它,也就是说当编译器检查到应用中的某处可能会此类异常时,将会提示你处理本异常——要么使用try-catch捕获,要么使用方法签名中用 throws 关键字抛出,否则编译不通过。
???? 非受检异常
编译器不会进行检查并且不要求必须处理的异常。
此类异常,就是当程序中出现此类异常时,即使我们没有
try-catch
捕获它,也没有使用throws
抛出该异常,编译也会正常通过。该类异常包括运行时异常(RuntimeException 极其子类)和错误( Error)。RuntimeException 发生的时候,表示程序中出现了编程错误,所以应该找出错误修改程序,而不是去捕获RuntimeException 。
????异常的处理机制(重点)
在 Java 应用程序中,异常处理机制为:抛出异常,捕捉异常。
???? Java异常处理
在Java中,一旦方法抛出异常,系统自动根据该异常对象寻找合适异常处理器(Exception Handler)来处理该异常,把各种不同的异常进行分类,并提供了良好的接口。
在 Java 中,每个异常都是一个对象,它是 Throwable类或其子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并可以对其进行处理。
Java 的异常处理涉及了 5 个关键词:try、catch、 finally、throw 和throws。
在Java应用中,异常的处理机制分为声明异常throws,抛出异常throw 和捕获异常try、catch、 finally。
接下来的几天就让我为大家详细讲述吧。
????总结
相信各位看官都对异常的体系和异常处理机制的概念有了大概的了解吧,那我们继续期待下一章的异常更多的内容吧!欢迎期待下一章的到来!
让我们也一起加油吧!本人不才,如有什么缺漏、错误的地方,也欢迎各位人才大佬评论中批评指正!当然如果这篇文章确定对你有点小小帮助的话,也请亲切可爱的人才大佬们给个点赞、收藏下吧,一键三连,非常感谢!
学到这里,今天的世界打烊了,晚安!虽然这篇文章完结了,但是我还在,永不完结。我会努力保持写文章。来日方长,何惧车遥马慢!
感谢各位看到这里!愿你韶华不负,青春无悔!
作者:最爱吃鱼罐头
链接:https://juejin.cn/post/7029598230925017102