
资料内容:
1. 常见异常类型分类
Java 异常体系基于 Throwable 类,核心分为 Error(错误) 和 Exception(异常) 两大
类,实际开发中重点关注 Exception 的处理。
1.1 核心分类体系
Throwable
├─ Error(错误:JVM 层面,无需捕获)
│ ├─ OutOfMemoryError(内存溢出)
│ ├─ StackOverflowError(栈溢出)
│ └─ NoClassDefFoundError(类未找到)
└─ Exception(异常:程序可处理)
├─ Checked Exception(受检异常:必须捕获/声明抛出)
│ ├─ IOException(IO 操作异常)
│ ├─ SQLException(数据库操作异常)
│ └─ ClassNotFoundException(类加载异常)
└─ Unchecked Exception(非受检异常:RuntimeException 子类,可选捕获)
├─ NullPointerException(空指针)
├─ ArrayIndexOutOfBoundsException(数组越界)
├─ ClassCastException(类型转换)
├─ IllegalArgumentException(非法参数)
└─ ArithmeticException(算术异常)
2. try-catch-finally & try-with-resources 正确用法
异常处理的核心语法是 try-catch-finally,JDK 7+ 新增 try-with-resources 用于自动释放资
源,是生产环境的首选。
2.1 核心语法作用
• try:包裹可能抛出异常的代码块(最小化范围);
• catch:精准捕获指定异常,处理逻辑(避免捕获无意义的 Exception);
• finally:无论是否异常,必执行(用于释放资源,JDK7+ 后逐步被 try-with-resources 替
代);
• try-with-resources:自动释放实现 AutoCloseable 接口的资源(如流、连接),无需手
动关闭。