异常
介绍一下 Java 的异常体系
Java 的异常体系是由 Throwable 类及其子类构成的。
Throwable 包含两个子类:Error(错误)和 Exception(异常)
- Error 表示错误,通常不需要程序员处理,如内存溢出。
- Exception 分为受检异常和非受检异常。
- 受检异常必须被显式捕获或声明,如
IOException
,强制捕获。- 通过 try-catch 语句块或 throws 关键字处理异常,提升程序的健壮性。
- 非受检异常包括运行时异常,如
NullPointerException
,不强制捕获。
- 受检异常必须被显式捕获或声明,如
Exception 和 Error 有什么区别?
Exception 和 Error 都是继承了 Throwable 类,在Java中只有 Throwable 类型的实例才可以被抛出或者捕获。
- Error 是指在正常情况下,不大可能出现的情况,大多会导致程序宕机。
- Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。
- Exception 分为可检查异常和不可检查异常。
- 可检查异常:强制捕获
- 不可检查异常:不强制捕获
- Exception 分为可检查异常和不可检查异常。
如何自定义异常
继承 Exception 类。
public class MyException extends Exception {
public MyException() {
}
public MyException(String msg) {
super(msg);
}
}