服务时间:8:30-18:00

首页 >java学习网

哪个类是所有异常的基础类

发布时间:2022-11-23 10:51 字数:902字 阅读:77

哪个类是所有异常的基础类

Which class is a base class for all Exception?(哪个类是所有异常的基础类?)

(a)String

(b)Error

(c)Throwable

(d)RuntimeException

考点:考察求职者对Java异常机制的理解和掌握。

出现频率:★★★★

【面试题解析】

Java不是第1种支持异常语义的语言,却是第1种通过编译器来执行声明和处理某些异常的语言。大部分开发者都认为编译时的异常检查对精确的软件设计颇有帮助。如图1所示显示了Java异常处理系统。

Java语言的异常处理体系

图1  Java语言的异常处理体系

Java中的异常也是对象。所有的异常类都派生于java.lang.Throwable类。图1正是表明了Throwable类所派生类的部分层次结构。两个主要的子类Exception类和Error类构成了Java的异常处理体系。

1.Throwable类

Throwable类是Java语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过Java虚拟机或者Java throw语句抛出。Error和Exception是Throwable类的两个子类实例。

2.Error类

Error是Throwable的子类,表示程序本身无法恢复的严重错误,用于指示应用程序的严重问题。在执行该方法期间,无需在方法中通过throws声明Error的任何子类,因为Java编译器不去检查它,也就是说,当程序中可能出现这类异常时,即使没有用try...catch语句捕获它,也没有用throws字句声明抛出它,还是会编译通过。

3.Exception

Exception类及其子类是Throwable的一种形式,它指出了应用程序想要捕获的异常,是程序本身可以处理的异常。

4.RuntimeException

RuntimeException是那些可能在Java虚拟机正常运行期间抛出的异常的超类。

以上是对有关异常API的一个简单介绍,用法都很简单,关键在于理解异常处理的原理,具体用法参看Java API文档。参考答案:(c)。