【JavaSE】异常(Exception)
在Java中,异常(Exception)是程序运行时可能出现的一个事件,这个事件会打断正常的程序流程。当方法遇到一个错误时,它可能会抛出一个异常对象。这个对象会告诉上层调用者一些关于错误的信息。
Java中的异常可以分为两类:Checked异常和Unchecked异常。
- Checked异常:编译器要求必须处置的异常。比如IOException和SQLException。这类异常通常是因为程序的运行环境导致的,程序员通常无法确保程序不会抛出这类异常。
- Unchecked异常:也称为运行时异常(RuntimeException),比如NullPointerException、ArrayIndexOutOfBoundsException等。这类异常是由程序逻辑错误引起的,程序应当在逻辑上避免这类异常的发生。
解决方案:
- 对于Checked异常,Java 编译器要求必须捕获或声明抛出异常,例如:
try {
// 可能会抛出 IOException 的代码
} catch (IOException e) {
// 处理异常
}
或者
public void method() throws IOException {
// 可能会抛出 IOException 的代码
}
- 对于Unchecked异常,通常应该修复代码以避免这类异常的发生,例如:
// 避免导致 NullPointerException 的代码
if (object != null) {
// 安全调用 object 的方法
}
或者使用Java 8的Optional类来避免可能的NullPointerException:
Optional<Object> optionalObject = Optional.ofNullable(object);
optionalObject.ifPresent(obj -> {
// 安全调用 obj 的方法
});
总结:
- 对于Checked异常,必须通过try-catch块捕获或者在方法签名中声明抛出。
- 对于Unchecked异常,应该在编码时避免异常的发生,并通过诸如null检查、使用Optional类等方式预防。
评论已关闭