在Java语言中,异常的基类是Throwable,Throwable有两个子类,分别为Error和Exception。
为了在编译时期能够检查异常,异常又分为checked Exceptions(受检查的异常) 和 unchecked Exceptions(不受检查的异常)。
通常认为继承Error和RuntimeException的类为不受检查的异常,反之则为受检查的异常。
受不受检查的异常是相对于编译器而言的,受检查的异常编译器要求一定要抛出异常或者捕获异常,不受检查的异常则不要求。
Error:是程序无法处理的错误,表示运行应用程序中较严重问题。常见的Error有:StackOverflowError(栈溢出错误),OutOfMemoryError(内存溢出错误), NoClassDefFoundError(类定义错误), ThreadError.
Exception:分为运行时异常和非运行时异常,RuntimeException及其子类为运行时异常,其他则为非运行时异常。
常见的运行时异常有:IndexOutofBoundException(越界异常), AritheticException(算术异常), ClassCastException (类转换异常), NullPointerException(空指针异常), IllegalArgumentException(不合法参数异常).
常见的非运行时异常有 : IOException (IO异常), SQLException(SQL异常), CloneNotSupportedException(克隆不支持异常), InterruptedException(中断异常), ParseException(解析异常).
受检查的异常和非运行时异常是同样的异常。
网友评论