Java提供了两类主要的异常:
runtime exception和checked exception
--------------------------------------------------------------------------------------------
所有的checked exception是从java.lang.Exception类衍生出来的,
检查类型的异常,比如IOException,是在运行之前就需要有try catch来保护的。
而运行时异常是运行阶段才能知道的异常,比如 a/0 分母为0,
或者NullPointerException等。(编写代码的时候不写try catch 也可以通过编译。)
--------------------------------------------------------------------------------------------
而runtime exception则是从java.lang.RuntimeException或java.lang.Error类衍生出来的。
而是runtime exception.会抛出runtime exception的方法在定义时不必声明它会抛出exception.
--------------------------------------------------------------------------------------------
逻辑的角度来说,checked exceptions和runtime exception是有不同的使用目的的。checked exception用来指示一种调用方能够直接处理的异常情况。而runtime exception则用来指示一种调用方本身无法处理或恢复的程序错误。 |