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 自定义异常类