java-异常家族梳理(流程图)
前言:
使用流程图梳理异常,便于理解
梳理:
Throwable
├── Error(严重错误,无需捕获)
│ ├── OutOfMemoryError
│ ├── StackOverflowError
│ └── ...
├── Exception(可捕获处理)
│ ├── RuntimeException(非检查异常/Unchecked)
│ │ ├── NullPointerException
│ │ ├── ArrayIndexOutOfBoundsException
│ │ └── ...
│ └── 非RuntimeException(检查异常/Checked)
│ ├── IOException
│ ├── SQLException
│ └── ...
流程解析:
- 异常分析
- Error:系统级错误(如OutOfMemoryError),程序一般无法恢复
- 检查异常(Checked Exception):必须处理(try-catch或throws)
- 非检查异常(Unchecked Exception):RuntimeException及其子类
- 自定义异常步骤:
// 1. 继承目标异常类型
public class MyException extends Exception {
// 2. 添加构造方法
public MyException() {
}
public MyException(String message) {
super(message);
}
public MyException(String message, Throwable cause) {
super(message, cause);
}
}
- 使用场景