创建异常类

在选择要引发的异常类型时,您可以使用别人编写的异常类型(Java 平台提供了很多可以使用的异常类),也可以编写自己的异常类型。如果对以下任何一个问题的回答为是,则应编写自己的异常类;否则,您可能可以使用别人的。

An Example

假设您正在编写一个链表类。该类支持以下方法,其中包括:

链表类可以引发多个异常,并且能够使用一个异常处理程序catch链表所引发的所有异常会很方便。另外,如果您打算将链接列表分发到一个包中,则所有相关代码都应打包在一起。因此,链表应提供自己的一组异常类。

下图说明了链表抛出的异常的一种可能的类层次结构。

示例异常类层次结构。

选择超类

任何Exception子类都可用作LinkedListException的父类。但是,快速浏览这些子类表明它们不合适,因为它们过于专业化或与LinkedListException完全无关。因此,LinkedListException的父类应为Exception

您编写的大多数 Servlets 和应用程序都会抛出Exception s 的对象。 Error s 通常用于系统中的严重硬错误,例如那些导致 JVM 无法运行的错误。

Note:

对于可读的代码,最好将字符串Exception附加到从Exception类继承(直接或间接)的所有类的名称。

首页