一、异常体系基础篇
1. 请简述 Java 的异常体系结构
Java 中所有异常和错误的顶层父类是 java.lang.Throwable,它分为两大分支:
- Error:系统级错误,属于 JVM 层面的严重问题,程序无法处理,通常不捕获。
- Exception:程序运行中出现的异常状况,开发者可以通过代码进行处理和恢复。
- RuntimeException(运行时异常 / 非受检异常):编译期不强制检查,通常由程序逻辑错误导致。
- Checked Exception(受检异常):编译期强制要求处理(捕获或向上抛出),通常是外部环境导致的可预期异常。
2. Error 和 Exception 有什么区别?
- Error:是程序无法处理的严重错误,大多与 JVM 或系统环境相关,比如
OutOfMemoryError、StackOverflowError、NoClassDefFoundError。这类错误发生时,JVM 通常会终止线程,程序无法通过捕获来恢复,一般不做处理。 - Exception:是程序本身可以处理的异常,分为受检和非受检两类。开发者可以通过
try-catch捕获并进行补救,比如空指针、数
订阅专栏 解锁全文

1830

被折叠的 条评论
为什么被折叠?



