一、异常概述
异常:程序出错了
1、异常的分类
- 编译时异常:受检异常
- 运行时异常:非受检异常
2、异常体系:Throwable
- Error:严重问题,不需要处理
- Exception:异常类,程序本身可以处理
- RuntimeException:编译器不检查,犯错后再改
- 非RuntimeException:编译期需要修改,不改过不了编译
3、JVM的默认处理方法
- 把异常信息(名称,原因,位置)输出在控制台
- 程序停止运行
二、异常处理
1、try...catch...finally...
try{
可能异常的代码;
} catch(异常类名 变量名) {
异常的处理代码;
} finally {
执行清除操作;
}
执行完毕后,程序还能继续运行
无论如何,都会执行finally里的操作
2、throws
方法 throws 异常名;
延迟处理异常:把异常抛出去,用的时候再处理 --> 甩锅
三、Throwable的成员方法
1. getMessage()
返回throwable的详细信息字符串(最简短)
//定义
public String getMessage()
//使用
sout(e.getMessage());
2. toString()
返回可抛出的简短描述
//定义
public String toString()
//使用
sout(e.toString());
3. printStackTrace()
把错误信息输出在控制台(最完全)
//定义
public void printStackTrace()
//使用
e.printStackTrace();
四、自定义异常
public class 异常类名 extends Exception {
无参构造
带参构造(String message){
super(message);
}
}
throw:手动抛出自定义异常对象