Throwable是异常和错误的根类
Throwable有两大类分别是Error(错误)和Exception(异常)
Error错误:一般是指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断
Error错误常见的有:AWTError AWT组件错误、IOError一般指:虚拟机直接无法读取硬盘、LinkageError
依赖错误,一般jar包冲突、VirtualMachineError: 虚拟机错误 有两大类型的错误:
(1)、StackOverflowError 堆栈溢出错误,递归调用无法结束
(2)、OutOfMeoryError 内存溢出
Exception异常的根类
Exception异常常见的有:IOException与读写文件和网络传输、RuntimeException运行时异常
IOException有两大类型异常:
(1)、EOFException 文件已结束异常(2)、FilleNotFoundException 文件未找到异常
RuntimeException运行时异常
(1)、IndexOutOfBoundException 索引越界异常 ArrayIndexOutOfBoundException 数组索引越界异常
(2)、ArithmeticException 算数条件异常 例如:整数除于0
(3※)、NullPointerException 空指针异常
(4)、NegativeArrySizeException 数组长度为负异常
(5)、ArrayStoreException 数组存储异常,当向数组中存放非数组声明类型对象时抛出
(6)、SecurityException 违背安全原则异常
(7)、IllegalArgumentException 非法参数异常
(8)、ClassCastException 类型强制转换异常
ReflectiveOperationException Java反射相关异常
(1)、ClassNotFoundException 找不到类异常
(2)、NoSuchMethodException 方法未找到异常
(3)、NoSuchFileException 找不到属性异常
Java把所有的非正常情况分成两种:异常(Exception)和错误(Error),它们都继承Throwable父
类。
Error错误,一般是指与虚拟机相关的问题,如系统崩溃、虚拟机错误、动态链接失败等,这种错误无法恢复或不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,因此应用程序不应该试图使用catch块来捕获Error对象。在定义该方法时,也无须在其throws子句中声明该方法可能抛出Error及其任何子类。