Java 异常处理:核心原理与实战最佳实践
异常的核心概念与分类
异常是程序运行中出现的非正常情况,会中断流程。比如文件找不到、空指针访问等。Java 中所有异常都继承自 Throwable,本质是捕获并处理这些非正常情况,保证程序优雅退出或继续运行。
Java 异常体系主要分为三类:
- Error(错误):JVM 内部严重错误,不可恢复。如
OutOfMemoryError、StackOverflowError。 - Checked Exception(受检异常):编译器强制处理。如
IOException、SQLException。需try-catch或throws。 - Unchecked Exception(非受检异常):继承自
RuntimeException,编译器不强制。如NullPointerException、ArrayIndexOutOfBoundsException。通常是逻辑错误,建议通过规范避免。
常见异常原因如下表:
| 异常类型 | 产生原因 |
|---|---|
NullPointerException | 调用 null 对象的方法或属性 |
ArrayIndexOutOfBoundsException | 数组下标越界 |
ClassCastException | 强制类型转换失败 |
ArithmeticException | 算术运算错误,如除以 0 |
IOException | 文件读写失败 |
异常处理的核心语法
try-catch:捕获并处理异常
try-catch 是最基础的结构。try 包裹可能出错的代码,catch 处理对应异常。
try {
// 可能抛出异常的代码
} catch (ExceptionType e) {
// 处理逻辑
}
以空指针为例:
public class TryCatchDemo {
public static {
;
{
System.out.println(str.length());
} (NullPointerException e) {
System.out.println( + e.getMessage());
e.printStackTrace();
}
System.out.println();
}
}


