【面经总结】 Java基础 - 异常

51 阅读1分钟

异常

介绍一下 Java 的异常体系

Java 的异常体系是由 Throwable 类及其子类构成的。

Throwable 包含两个子类:Error(错误)和 Exception(异常)

  1. Error 表示错误,通常不需要程序员处理,如内存溢出。
  2. Exception 分为受检异常和非受检异常。
    1. 受检异常必须被显式捕获或声明,如 IOException,强制捕获。
      1. 通过 try-catch 语句块或 throws 关键字处理异常,提升程序的健壮性。
    2. 非受检异常包括运行时异常,如 NullPointerException,不强制捕获。

img

Exception 和 Error 有什么区别?

Exception 和 Error 都是继承了 Throwable 类,在Java中只有 Throwable 类型的实例才可以被抛出或者捕获。

  1. Error 是指在正常情况下,不大可能出现的情况,大多会导致程序宕机。
  2. Exception 是程序正常运行中,可以预料的意外情况,可能并且应该被捕获,进行相应处理。
    1. Exception 分为可检查异常和不可检查异常。
      1. 可检查异常:强制捕获
      2. 不可检查异常:不强制捕获

如何自定义异常

继承 Exception 类。

public class MyException extends Exception {
    public MyException() {
    }

    public MyException(String msg) {
        super(msg);
    }
}