Java 异常
顶级超类:Throwable
,根据Javac对异常的处理要求,将异常类分为2类。
-
1.非检查异常(
unckecked exception
):Error
和RuntimeException
和它们的子类。
Javac在编译时,不会提示和发现这样的异常,不要求在程序处理这些异常。
对于这些异常,应该修正代码,而不是去通过异常处理器处理 ,这样的异常通常是代码有问题。 -
2.检查异常(
checked exception
):除了Error
和RuntimeException
的异常。
Javac强制要求程序员为这样的异常做预备处理工作(使用try…catch…finally或者throws)。
在方法中要么用try-catch语句捕获它并处理,要么用throws子句声明抛出它,否则编译不会通过。
这中异常一般是由程序的运行环境导致的,因为程序运行的环境和用户的使用姿势是未知的,所以程序应该为这样的异常时刻准备着。