首页 > 编程语言 > 详细

Java异常结构

时间:2021-04-11 23:32:28      阅读:35      评论:0      收藏:0      [点我收藏+]
  • 非RuntimeException,是Checked Exception,IDE辅助检查;
  • RuntimeException。是Unchecked Exception,IDE不会辅助检查,是程序员自行处理。

异常结构

  • try…catch(catch可以有多个,下同)
  • try…catch…finally
  • try…finally

try必须有,catch和finally至少要有一个

try: 正常业务逻辑代码。

catch:当try发生异常,将执行catch代码。若无异常,跳过catch代码。

finally:当try或catch执行结束后,必须要执行finally 。finally代码不论有没有异常都会执行

catch块可以有多个,每个有不同的入口形参(某种异常)。当已发生的异常和某一个catch块中的形参类型一致,那么将执行该catch块中的代码。
如果没有一个匹配,catch也不会被触发。最后都进入finally块。
进入catch块后,并不会返回到try发生异常的位置,也不会执行后续的catch块,一个异常只能进入一个catch块。

catch块的异常匹配是从上而下进行匹配的。
所以一般是将小的异常写在前面,而一些大(宽泛)的异常则写在末尾。

try-catch-finally每个模块里面也会发生异常,所以也可以在内部继续写一个完整的异常结构。(不完整不行!)

方法存在可能异常的语句,但不处理,那么可以使用throws来声明异常。
调用带有throws异常(checked exception)的方法,要么处理这些异常,或者再次向外throws,直到main函数为止。

一些语句在特定情况会出错,正常不会出错,throws异常,看调用它的对象会不会考虑特殊情况,如果调用它的对象也不会考虑特殊情况,则也抛出异常。

重写方法时,子类方法所抛出的异常不能超过父类方法的异常范围。(Exception类最大)

Exception类是所有异常的父类。
Exception继承自java.lang.Throwable,同时它有一个兄弟Error。
Error是更严重的问题,一般是系统层面的,无需程序处理。
程序只需要处理Exception。

自定义异常

  • 需要继承Exception类或其子类。
  • 继承自Exception,就变成Checked Exception
  • 继承自RuntimcException,就变成Unchecked Exception

Java异常结构

原文:https://www.cnblogs.com/grow-slowly/p/14645812.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!