说一下JAVA当中的异常结构
继承结构
Throwable 是所有异常类的父类,它有两个重要的子类,Exception和Error。
Error是指程序本身不能够处理的异常,一般表示JVM出现了问题,如堆溢出,栈溢出等。
Exception 是指程序可以处理的异常。包含两个子类RuntimeException和IOException。
RuntimeException 运行时异常,是指JVM常用操作引起的异常,比如其子类,数组越界异常,空指针异常等。
IOException 是指跟IO操作有关的异常,有比如EOFException,FileNotFoundException等
受查异常和非受查异常
受查异常是指编译器会检查的异常,除Error和Exception中RuntimeException外,所有的异常都是受查异常,此类异常编译器会检查,如果没有捕获或抛出,则编译无法通过。如IOException、SQLException等。
非受查异常,是指编译器不会检查的异常,如Error和RuntimeException。