diff --git "a/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" "b/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" index 2a3075de248353392dbddb9b211c5ae6bc93f62d..af0d2c9c550cd62d317e3766603aa92125700533 100644 --- "a/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" +++ "b/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" @@ -460,6 +460,11 @@ final 关键字主要用在三个地方:变量、方法、类。

图片来自:https://simplesnippets.tech/exception-handling-in-java-part-1/

+![Java异常类层次结构图](./images/exception-architechture-java.png) + +

图片来自:https://chercher.tech/java-programming/exceptions-java

+ + 在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 **Throwable 类**。Throwable: 有两个重要的子类:**Exception(异常)** 和 **Error(错误)** ,二者都是 Java 异常处理的重要子类,各自都包含大量子类。 **Error(错误):是程序无法处理的错误**,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java 虚拟机运行错误(Virtual MachineError),当 JVM 不再有继续执行操作所需的内存资源时,将出现 OutOfMemoryError。这些异常发生时,Java 虚拟机(JVM)一般会选择线程终止。 diff --git a/docs/java/images/exception-architechture-java.png b/docs/java/images/exception-architechture-java.png new file mode 100644 index 0000000000000000000000000000000000000000..9a9e3afdc592e4ee151dafa2e786ed3f0e6c631a Binary files /dev/null and b/docs/java/images/exception-architechture-java.png differ