Java-异常
2023-12-20 16:53:31
目录
概述
定义
异常是程序中可能出现的问题。
异常体系
最上层父类是Throwable类,下面分为两类:Error和Exception。
Error:代表系统级别的错误,属于严重错误,一般不是给程序员用的。
Exception:异常,代表程序中可能出现的问题,我们通常用Exception和它的子类来封装程序出现的问题。Exception又分为两类:运行时异常和编译时异常。
两类异常的区别
运行时异常:继承于Exception类的RuntimeException本身和其子类。编译阶段没有错误提示,运行时出现。
编译时异常:没有继承RuntimeException的异常,直接继承于Exception。编译阶段就会出现错误提示。
作用
- 用来查询bug的关键参考信息
- 可以作为方法内部的一种特殊返回值,以便通知调用者底层的执行情况
处理方式
JVM默认的处理方式
- 把异常的名称、异常原因及异常出现的位置等信息输出在控制台上
- 程序停止执行,下面的代码不会继续执行
自己处理(捕获异常)
格式
try {
可能出现异常的代码;//1. 此处出现了异常,程序就会在这里创建一个异常类的对象
}catch(异常类名 变量名) {//2. 拿着这个对象到catch的小括号里面进行对比,看括号中的变量是否能够接收这个对象,如果能够接收,就表示该异常被捕获,执行catch里面的代码
异常处理的代码;
}
目的
当代码出现异常的时候,可以让程序继续往下执行。
四个问题
- 如果try中没有遇到问题,会把try里面所有的代码全部执行完毕,不会执行catch里面的代码。
- 如果try中有可能会遇到多个问题,需要写多个catch与之对应。要注意的是,这些异常中如果存在父子关系,父类一定要写在子类的下面。(在JDK7以后,一个catch可以处理多个异常,它们之间用‘|’相连)
- 如果try中遇到的问题没有被捕获,则会采取虚拟机默认处理的方式。
- 如果try中遇到了问题,那么try里面其他的代码就不会执行了。
Throwable中的常见方法
方法名称 | 说明 |
---|---|
public String getMessage () | 返回此throwable的详细消息字符串 |
public String toString() | 返回此可抛出的简短描述 |
public void printStackTrace() | 把异常的错误信息以红色字体输出在控制台 |
抛出处理
throws
- 写在方法定义处,表示声明一个异常,告诉调用者,使用本方法可能会有哪些异常
- 编译时异常必须要写,运行时异常可以不写
public void 方法() throws 异常类名1,异常类名2··· {}
throw
- 写在方法内,结束方法,手动抛出异常对象,交给调用者,方法中下面的代码不再执行了
public void 方法() {
throw new NullPointerException();
}
自定义异常
- 定义异常类
- 写继承关系
- 空参构造
- 带参构造
文章来源:https://blog.csdn.net/liuyitingliuyihe/article/details/135105207
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!