点击查看:2015计算机等级考试二级Java入门教程章节汇总
点击查看:2015计算机等级考试二级Java入门教程第七章汇总
7.2 异常的类型
异常总是标准类Throwable子类的对象。除了由于代码中的错误引发的标准异常外,你还可以自己定义和抛出异常;也可以在同一个或另外一个标准包中由方法抛出异常。
所有的标准异常都包含在Throwable类的两个直接子类Error和Exception中。这两个类本身又有子类,它们用来标识特定的异常状况。
Error异常
由Error类和它的子类定义的异常描述了不希望出现的所有情况,因此,你并不期望捕获到它们。Error-类有三个直接的子类-ThreadDeath. LinkageError和VirtualMachineError其中第一个听起来是最严重的,但实际上并非如此。当正在执行的线程被意外地停止时,就会抛出ThrowDeath异常,要使线程被适当地撤消,你就不应该捕获到这个异常。可能会出现这种情况,你想要取消若干个操作,此时,你就必须确保重新抛出允许线程死亡的异常。当ThreadDeath异常被抛出,而没有被捕获时,它是结束的线程,而不是程序。我们将在第11章中详细地介绍有关线程的概念。
LinkageError异常类还有子类,它们以类的形式记录了程序中的严重错误,类或试图创建一个不存在的类对象之间的区别在于引发抛出异常的类别不同。VirtualMachineError类有4个子类,它们指明当Java虚拟机出现灾难性故障时要抛出异常。你并没有被禁止处理这些异常,然而,通常捕获它们的意义不大。对应LinkageError和VirtualMachineError的派生类对象都是灾难性事件或状态造成的结果。在程序执行期间,恢复它们意义不大或毫无意义。在这些情形下,你通常能做的只是读取由异常产生的错误信息,然后特别是在LinkageError异常出现时,试着找出引发抛出异常的代码错误。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |