Java异常简介
开发工具与关键技术:eclipse java
作者:梁峻豪
异常简介
Java 中的异常又称为例外,是一个在程序执行期间发生的事件,它中断正在执行程序的正
常指令流。为了能够及时有效地处理程序中的运行错误,必须使用异常类,这可以让程序
具有极好的容错性且更加健壮。
异常类型
为了能够及时有效地处理程序中的运行错误,Java 专门引入了异常类。
在 Java 中所有异常类型都是内置类 java.lang.Throwable 类的子类,即 Throwable 位于异常
类层次结构的顶层。
Throwable 类下有两个异常分支 Exception 和 Error,如图所示。
Throwable 类是所有异常和错误的超类,下面有 Error 和 Exception 两个子类分别表示错误
和异常。其中异常类 Exception 又分为运行时异常和非运行时异常,这两种异常有很大的
区别,也称为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。
Exception 类用于用户程序可能出现的异常情况,它也是用来创建自定义异常类型
类的类。
Error 定义了在通常环境下不希望被程序捕获的异常。一般指的是 JVM 错误,如堆
栈溢出。
Error 类型的异常处理,通常是灾难性的致命错误,不是程序可以控制的。
接下来将讨论 Exception 类型的异常处理。
运行时异常都是 RuntimeException 类及其子类异常,如 NullPointerException、
IndexOutOfBoundsException 等,这些异常是不检查异常,程序中可以选择捕获处理,也可
以不处理。这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常
的发生。
非运行时异常是指 RuntimeException 以外的异常,类型上都属于 Exception 类及其子类。
从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。
如 IOException、ClassNotFoundException 等以及用户自定义的 Exception 异常(一般情况下
不自定义检查异常)。
Java 中常见运行时异常