文档

Java™教程
隐藏目录
创建异常类
路径:基本Java类
课程:异常
章节:如何抛出异常

创建异常类

当选择要抛出的异常类型时,你可以使用其他人编写的异常类 — Java平台提供了很多可以使用的异常类 — 也可以编写自己的异常类。如果回答以下问题中的任何一个是肯定的,那么你应该编写自己的异常类;否则,你可能可以使用别人的异常类。

示例

假设你正在编写一个链表类。该类支持以下方法,以及其他方法:

链表类可以抛出多个异常,如果能够使用一个异常处理程序捕获链表抛出的所有异常会很方便。此外,如果打算将链表分发在一个包中,所有相关的代码应该一起打包。因此,链表应该提供自己的一组异常类。

下图展示了链表抛出的异常可能的类层次结构。

链表抛出的异常可能的类层次结构。

示例异常类层次结构。

选择一个超类

任何Exception子类都可以作为LinkedListException的父类。然而,快速查看这些子类会发现它们不适合,因为它们要么太专业化,要么与LinkedListException完全无关。因此,LinkedListException的父类应该是Exception

你编写的大多数小应用程序和应用程序都会抛出Exception对象。 Error通常用于系统中的严重错误,例如阻止JVM运行的错误。


注意: 为了使代码更具可读性,将所有继承(直接或间接)自Exception类的类名称后面附加字符串Exception是一个良好的做法。

上一页: 链式异常
下一页: 未经检查的异常 —— 争议