一:Java异常分类:
- 检查型异常(Checked Exception):编译器强制要求程序员进行捕获处理的异常,如IOException、SQLException等。
- 非检查型异常(Unchecked Exception):编译器不要求强制捕获的异常,如RuntimeException及其子类。
二:异常处理机制
- Java提供了五个关键字来处理异常:try、catch、finally、throw和throws。
- try:包含可能出现异常的代码块。
- catch:用于捕获try块中抛出的异常,并处理它。
- finally:无论try块中的代码是否抛出异常,finally块中的代码都会被执行。它常用于关闭资源或进行清理工作。
- throw:用于显式地抛出一个异常,需要是 new 异常类
- throws:用于声明一个方法可能会抛出的异常,但不处理它,即往外抛
代码示例:
package chapter7;
import java.io.IOException;
public class ExceptionDemo {
public static void main(String[] args) throws Exception{
try {
divide(10,0);
} catch (ArithmeticException e) {
System.err.println("捕获到除数为0的异常: " + e.getMessage());
} finally {
System.out.println("finally块中的代码被执行了");
}
}
public void divide(int dividend, int divisor) throws ArithmeticException {
if (divisor == 0) {
throw new ArithmeticException("除数不能为0");
}
System.out.println(dividend / divisor);
}
}