介绍

Java中异常的分类分为Error和Exception两种类型,都是Throwable的子类
未命名文件.png

Error异常

Error 是错误,对于编译期间发生的错误和系统错误都是通过Error抛出的。这些错误说明故障发生在虚拟机本身或虚拟机执行的应用。如:类定义错误(NotClassDefFoundError)等。这些错误是不可查的,因为在应用程序控制和处理之外,而且是应用程序不允许出现的错误。在Java中,错误通过Error的子类描述

Exception异常

Exception 的异常是程序本身是可以处理的,如NullPointException异常。异常和错误的区别在于异常可以应用程序自身被处理,错误是没法处理的。

Exception异常可以分为Checkd Exception和Unchecked Exception两类

  • Checked Exception

可检查异常,这是编码常用,所有checked exception 都是需要在代码中处理的。他的发生是可预测的,正常情况可以合理的处理。如:IOException或者自定义异常。除RuntimeException 及其子类外,都是checked exception可检查异常

  • Unchecked Exception

RuntimeException 及其子类都是Unchecked Exception,如:NullPointException空指针异常等,这种异常在程序运行时发生,无法预先捕捉到处理的。Error也是Unchecked Exception 的一种,无法预先捕获处理的。