java 中 Exception 和 Error
在java中 Exception 和 Error 都是继承 Throwable ,说明他们是可以被捕获和抛出的。
- Exception 是程序运行时可以预料的情况,并且应该捕获,做出对应处理,例如NullPointerException。
- Error 可能是不常出现的情况,发生Erro 可能导致程序不能正常运行,所以不便于也不建议捕获Error,例如OutOfMemoryError。
Exception 又分为可检查和不可检查的异常。
- 不可检查异常,又叫运行时异常(RuntimeException),如NullPointerException (空指针异常)、 IndexOutOfBoundsException (下标越界异常),这种异常通常是由逻辑不严密造成的;
- 可检查异常,是除运行时异常之外的异常,也是 Exception 类及其子类,是必须处理的异常,如果不处理,程序就不能编译通过,如 IOException 、 SQLException 和 用户自定义异常等,一般情况下不自定义异常。