1.异常
(1)检查性异常:最具代表性的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在的文件时,一个异常就发生了,这些异常不能被简单地忽略。
(2)运行时异常:运行时异常时可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。
(3)错误:错误不是异常,而是脱离程序员控制的问题。错误在代码中通常被忽略。例如:当栈溢出时,它们在编译也是检查不到的。
2.Exception类的层次
所有的异常都是从java.lang.Exception类继承的子类。
Exception类是Throwable类的子类,除了Exception类之外,Throwable类还有一个子类Error。
Java程序通常不捕获错误。错误一般发生在严重故障时,它们在Java处理范畴之外。
异常类有两个主要的子类:IOException和RuntimeException