java异常处理流程
  TEZNKK3IfmPf 2023年11月14日 21 0

在Java中异常被当做对象来处理,根类是java.lang.Throwable类,在Java中定义了很多异常类(如OutOfMemoryError、NullPointerException、IndexOutOfBoundsException等),这些异常类分为两大类:Error和Exception。

Error指的是JVM错误,即,此程序还没有执行,如果没有执行用户无法处理这个异常。

Exception:指的是程序运行中产生的异常,用户可以处理,也就是所谓的异常处理指的是所有Exception以及它的所有子类。

  *java中的异常处理流程:

1)当程序在运行的过程之中出现异常之后,JVM会自动根据异常的类型实例化一个与之类型匹配的异常对象

(此时用户不用去关心new,有系统自动负责处理)

2)产生异常对象之后会判断当前的语句是否存在有异常处理,如果现在没有异常处理,

那就交给JVM进行默认的异常处理,处理的方式:输出异常信息,而后结束程序的调用,

3)如果此时存在异常的捕获操作,那么会由try语句来捕获产生的异常实例化对象,而后与try语句后的每一个catch语句进行比较,如果有符合的异常处理,即使用当前catch语句进行异常处理,如果不匹配则匹配剩下的catch语句

4)不管最后异常处理是否能够匹配,那么都要向后执行,如果此时程序中存在finally语句,那么就先执行finally中的代码,但是执行完毕后需要根据之前的catch匹配结果来决定如何执行,如果之前已经成功的捕获类异常,那么就继续执行finally之后的代码,如果之前没有成功的捕获异常,那么就将此异常交给JVM进行默认处理(输出异常信息,

结束程序执行)

  处理提示:

     *:在整个捕获异常的时候,要将捕获范围大的异常放在捕获范围小的异常之后,否则出现编译错误。

     *:虽然直接 捕获Exception比较方便,但是在处理大型项目时建议写出具体的异常。

throw与throws的区别

Throws:在方法的声明上使用,表示此方法在调用时必须处理异常。

Throw:指的是在方法之中人为抛出一个异常类对象(这个异常对象可能是自己实例化或者是抛出已存在的)

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: mysql数据库系统管理 下一篇: mysql优化大全
  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   23天前   50   0   0 java
  TEZNKK3IfmPf   2024年05月31日   55   0   0 java
TEZNKK3IfmPf