首页 > 文章列表 > 如何理解 Java 中的异常继承层次?

如何理解 Java 中的异常继承层次?

java 异常继承
208 2024-11-28

Java 中异常类遵循继承层次:Throwable(父类) - Exception(可检查异常) - RuntimeException(不可检查异常) - Error(系统错误)。实战中,可检查异常需要显式处理,而不可检查异常可在运行时处理。

如何理解 Java 中的异常继承层次?

如何理解 Java 中的异常继承层次

Java 中的异常遵循一个严格的继承层次结构,有助于根据严重性和类型对不同的错误情况进行分类。理解这个层次对于有效地处理异常至关重要。

继承层次结构

异常类父类
Throwable
ExceptionThrowable
RuntimeExceptionException
ErrorThrowable

类别

  • Throwable表示任何可能发生的异常或错误。
  • Exception表示可检查的异常,即应用程序在编译时必须显式处理它们。
  • RuntimeException表示不可检查的异常,即应用程序可以在运行时处理它们(无需显式处理)。
  • Error表示系统错误,这些错误通常表明应用程序处于不可恢复的状态。

实战案例

以下代码演示了如何使用异常继承层次结构:

import java.io.FileNotFoundException;

public class ExceptionDemo {

    public static void main(String[] args) {
        try {
            openFile("non-existent-file.txt");
        } catch (FileNotFoundException e) {
            System.out.println("File not found!");
        } catch (Exception e) {
            System.out.println("An unexpected error occurred!");
        }
    }

    public static void openFile(String fileName) throws FileNotFoundException {
        if (!new java.io.File(fileName).exists()) {
            throw new FileNotFoundException();
        }
    }
}

在这个例子中,FileNotFoundException 是一个可检查的异常,而我们显式地处理它。父类 Exception 是一个通用异常处理程序,用于处理任何其他异常。