Throwable(所有error和exception的父类:超类)
Java将错误变成对象交给异常处理机制
Error(仅靠程序本身无法恢复的严重错误)
一般是环境的问题,JVM的问题,并非程序的问题;最典型的就是虚拟机中运行的程序过多,造成的虚拟机内存溢出,虚拟机错误,还有系统崩溃之类的,应用程序是无法处理此类错误的。Error不在我们调试代码可以处理的范围中。
AWTError
ThreadDeath
... ...
Exception(由java应用程序抛出和处理的非严重型错误)
Checked异常(检查时异常),程序必须处理的异常(代码调用,调用方声明有风险)
SQLException
ClassNotFoundException
......
例如文件调用:I/O 有可能找不到的风险
对于以上的文件读取可能发生的异常我们有两种处理方式:
1. 抛出,继续往上抛
2. 现场处理这个异常
运行时异常,不要求程序必须对它们做出处理(运行时才能抛出异常)
RuntimeException(运行时错误)
NullPointerException
对象没有被初始化生成的
NumberFormatException
ArrayIndexOutOfBoundsException
数组越界错误
......
Arithm