面试准备(三) Java 异常类层次结构

在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中.这类容易出选择题 考试你是否掌握了异常类并清楚哪些异常类必须捕获 
下面的图展示了Java异常类的继承关系.

图1

粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.受检查的异常必须在编译时被捕捉处理,命名为 CHecked Exception 是因为Java编译器要进行检查,Java虚拟机也要进行检查,以确保这个规则得到遵守.
绿色的异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理,比如 空指针,被0除...
而声明为Error的,则属于严重错误,需要根据业务信息进行特殊处理,Error不需要捕捉。

想要了解更多,请参考: Top 10 Questions about Java Exceptions

相关文章:

    1. Top 10 Questions about Java Exceptions
    2. Java Exception Handling Example
    3. java io class hierarchy diagram
    4. Operating System Concepts Hierarchy Diagram
时间: 2024-12-25 10:38:56

面试准备(三) Java 异常类层次结构的相关文章

Java异常类

原文出自:http://blog.csdn.net/hguisu/article/details/6155636  在原文的基础上做优化和编辑. 异常指不期而至的各种状况,如:文件找不到.网络连接失败.非法参数等.异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程.Java通 过API中Throwable类的众多子类描述各种不同的异常.因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件.当条件生成时,错误将引发异常. Java异常类层次结构图:

跟王老师学异常(三)异常类的继承体系

异常类的继承体系 主讲人:王少华  QQ群号:483773664 学习目标: 1.掌握异常的体系 2.掌握处理异常类的几中常用方法 一.异常类继承体系图 Java提供了丰富的异常类,这些异常类之间有严格的继承关系,如下图所示 从上图可以看出,Java把所有非正常情况分成两种,一种是异常(Exception),另一种是错误(Error),它们都继承Throwable父类. 二.Error Error错误,一般是指虚拟机相关的问题.即仅靠程序本身无法恢复的严重错误.如系统崩溃.虚拟机出错误.动态链接

Java异常类及处理

异常概述:运行时发生的不正常情况 在java中用类的形式对不正常的情况进行了描述和封装对象. 描述不正常的类,称之为异常类. 异常就是java通过面向对象的思想将问题封装成了对象,用异常类对其进行描述. 不同的问题用不同的类进行具体的描述,比如角标越界,空指针等. 异常体系两大类: 无论是error,还是Exception,问题发生就应该可以抛出,让调用者知道并处理,该体系的特点就在于Throwable及其所有子类都具备可抛性. Throwable: ① 一般不可处理的.Error 特点:是由J

课堂动手动脑验证以及自定义异常类实现对异常处理——java异常类

异常(exception):发生在程序执行期间,表明出现了一个非法运行的情况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象.例如:数组越界和被0除. 代码验证: package test; import javax.swing.*; class AboutException { public static void main(String[] a) { int i=1, j=0, k; try { k = i/j; // Causes division-by-zero except

java异常类的妙用

以往在使用异常时,只是知道通过异常类的构造方法设置一些出错信息,此外最多就是把引起该异常的原因通过Throwable类的子类一同设置进去.今天在分析springSecurity3.0.5的框架时,看到AuthenticationException这个异常类(用在验证时)的源码,发现这个异常类除了上述常见的用法外,还把Authentication(验证信息)的做为属性放到了异常类中,当验证出错时AuthenticationException抛出时,Authentication(验证信息)一同被抛出

面试贴:java异常小结

java的异常处理在面试中通常是个敏感的话题,这里我从整体框架方面稍微作一下我的小结. java的异常都继承Throwable这个类,也就是都可以抛出来的异常,在这个祖先类下,又分为如下子类: 1.Error类,这类异常通常是由系统产生的,也就是系统的错误,是我们程序员控制不了也处理不了的. 2.Exception类:这个类称为可以处理的异常,又分为两种 (1)一种是必须逮的异常,例如我们对文件进行I/O读取时,有可能文件会不存在,会读不到,引起这个错误的不是你编的程序本身,而是出在文件上,因此

JAVA 异常类

1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行应用时,一般不需要程序处理. 3.检查异常(编译器要求必须处置的异常) :  除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常.这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出

java异常类子类和父类的关系

在java 中,当我们子类要重写父类中的方法,如果父类的方法有异常声明,那么子类重写这个方法时候,所要声明的异常不应该比父类的大.只能是小等,或者可以没有.原因如下.假如我们自定意义一个异常: public class MyException extends Exception {public MyException(String message) {}public MyException() {}} 那么我们有一个父类它将有一个方法,将声明抛出这个异常.我们把它做成抽象的(无所谓) publi

下面有关 JAVA 异常类的描述,说法正确的有()

都是Throwable的子类: 1.Exception(异常) :是程序本身可以处理的异常. 2.Error(错误): 是程序无法处理的错误.这些错误表示故障发生于虚拟机自身.或者发生在虚拟机试图执行应用时,一般不需要程序处理. 3.检查异常(编译器要求必须处置的异常) :  除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常.这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它