10.4.2 自定义异常类
用户自定义异常都应该继承Exception
基类,如果希望自定义Runtime
异常,则应该继承RuntimeException
基类。
定义异常类的要求
定义异常类时通常需要提供两个构造器:
- 一个是无参数的构造器;
- 另一个是带个字符串参数的构造器,这个字符串将作为该异常对象的描述信息(也就是异常对象的
getMessage()
方法的返回值)。
下面例子程序创建了一个自定义异常类。
1 | public class AuctionException extends Exception |
上面程序创建了AuctionException
异常类,并为该异常类提供了两个构造器。尤其是②号代码部分创建的带一个字符串参数的构造器,其执行体也非常简单,仅通过super
来调用父类的构造器,正是这行super
调用可以将此字符串参数传给异常对象的message
属性,该message
属性就是该异常对象的详细描述信息。
如果需要自定义Runtime
异常,只需将AuctionException. java
程序中的Exception
基类改为RuntimeException
基类,其他地方无须修改。
在大部分情况下,创建自定义异常都可采用与AuctionException.java
相似的代码完成只需改变AuctionException
异常的类名即可,让该异常类的类名可以准确描述该异常。
原文链接: 10.4.2 自定义异常类