欢迎光临散文网 会员登陆 & 注册

Java异常处理介绍

2023-02-17 17:22 作者:鹿是不是鹿  | 我要投稿

什么是异常

导致程序的正常流程被中断的事件,叫做异常。

异常是程序中的一些错误,并不是所有的错误都是异常。

异常的分类

可查异常: 可查异常即必须进行处理的异常,要么try catch住,要么往外抛,谁调用,谁处理,如果不处理,编译器,就不让你通过

运行时异常: 运行时异常是可能被程序员避免的异常。与可查异常相反,运行时异常可以在编译时被忽略。

错误: 指的是系统级别的异常,通常是内存用光了

其中,运行时异常和错误又叫非可查异常。

Exception 类的层次

所有的异常类是从 java.lang.Exception 类继承的子类。

Exception 类是 Throwable 类的子类。除了Exception类外,Throwable还有一个子类Error 。

异常的处理

异常处理常见手段: try-catch throw/throws

先看一下报异常的

try-catch

再看下没有报错的

从结果中可以看到,在我们使用try-catch的时候,如果代码报了异常,报错的那行代码之后的语句都不会执行,它会进入到catch中。

还有一个关键字finally,无论代码有没有报错,它都会执行,所以我们一般会在finally语句块里运行清理类型等收尾善后性质的语句。

throw和throws

1、只使用throw关键字

2、使用throw+try-catch

3、使用throws

throws与throw这两个关键字接近,不过意义不一样,有如下区别:

throws 出现在方法声明上,而throw通常都出现在方法体内。

一个方法可以声明抛出多个异常,多个异常之间用逗号隔开。

throws 表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某个异常对象。

自定义异常

在 Java 中我们可以自定义异常。

所有异常都必须是 Throwable 的子类。

如果希望写一个可查异常类,则需要继承 Exception 类。

如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。

定义一个异常类

测试一下


Java异常处理介绍的评论 (共 条)

分享到微博请遵守国家法律