异常是程序员永远不可避免的问题,在开发中也是非常常见的,下面我来总结一下Java的异常。
Throwable是所有Java程序中错误处理的父类,其有两个子类:Error和Exception。
Error:表示由JVM所检查到的无法预期的错误,由于这是属于JVM层次的严重性错误,导致JVM无法继续执行,因此,这是不可捕捉到的,无法采取任何恢复的操作,最多也是只能显示错误信息;
Exception:表示可恢复的异常,这是可以捕捉到的;
Java提供了两类主要的异常:runtime exception和checked exception。
checked exception也就是我们经常遇到的IO异常、SQL异常等,对于这种异常Java编译器强制要求我们必须对出现的这些异常进行try catch。
runtime exception也称为运行时异常,顾名思义,是在运行时产生的异常,它是一种unchecked异常,(如NullPointException伴随程序员一身的异常、数组越界等)一类特殊的异常,因为这类异常产生比较频繁,处理麻烦,如果显式的声明或捕获将会对程序的可读性和运行效率影响很大,因此由系统自动检测并将它们交给缺省的异常处理程序,用户可不必对其处理,如果发生这种异常,一般情况下整个系统会处于停止运行或者是崩溃的状态;
一般我们在开发中使用的策略是在底层就把异常给try catch掉,这样最安全可靠;