一、什么是异常
程序运行时出现的意外错误,会导致程序中断。
Java 用异常对象表示错误,方便我们定位和处理问题。
二、异常分类
顶层父类:Throwable
Error(错误)
JVM 问题(内存溢出、系统崩溃),无法处理。
Exception(异常)
代码问题,可以处理,分两种:
编译时异常:编译就报错,必须处理(文件找不到、网络异常)
运行时异常:运行才报错,代码逻辑错误(空指针、除零、数组越界)
三、5 个核心关键字
try:放可能出错的代码
catch:捕获并处理异常
finally:无论是否报错,一定执行(关闭资源)
throw:方法内主动抛出异常
throws:方法上声明异常,交给调用者处理
四、最简单代码示例
java
运行
public class Test {
public static void main(String[] args) {
try {
// 可能异常的代码
int a = 10 / 0;
} catch (ArithmeticException e) {
// 处理异常
System.out.println("除数不能为0");
} finally {
System.out.println("资源关闭");
}
// 程序不会崩溃,继续执行
System.out.println("程序正常结束");
}
}
五、初学者最常见 3 种异常
NullPointerException:空对象调用方法
ArrayIndexOutOfBoundsException:数组下标越界
ArithmeticException:除数为 0
六、异常处理原则
不忽略异常,必须处理或打印信息
finally 用于关闭资源
只捕获自己能处理的异常
