Java异常

1. 简介

异常类继承图

异常
Java的错误类( Error)和异常类( Exception)都是 Throwable的子类,基本由这两大类展开的。

Error

Error这个类一般指的是系统级的错误,如OutOfMemoryError(内存溢出)、StackOverflowError(栈溢出)这些错误,当出现这些错误时基本是系统问题,基本不能经过捕获去恢复,因此不要求捕获或声明。此时能够由它抛出异常而后记录下来,过后分析。编程

Exception

Exception其实也分为两类异常数组

不受检查异常(RuntimeException)

不受检查异常便是RuntimeExceptionRuntimeException的子类,如NullPointerException(空指针异常)、ArrayIndexOutOfBoundsException(数组下标越界异常)、IllegalArgumentException(非法参数异常)。这类异常不要求try catch捕获或throws声明抛出,由于出现此类异常一般是因为代码问题,若是任由程序运行下去可能会出现意想不到后果,因此不该该捕获处理试图恢复。指针

受检查异常

受检查异常即除了RuntimeExceptionException类和Exception下的子类,如InterruptedExceptionIOException。出现此类异常必须在编译前捕获或声明抛出,不然编译不经过。此类异常一般是能够捕获并有效处理因此不能忽略。code

2. 注意

  1. 只针对异常的状况使用异常机制,不该该将他们用于正常的控制流
  2. 对可恢复的状况使用受检查异常,对编程错误使用运行时异常
  3. 避免没必要要地使用受检查异常
  4. 优先使用标准的异常(JDK中的异常)
  5. 不要忽略异常
相关文章
相关标签/搜索