自定义异常

在通常的情况下,程序很少会自行抛出异常,因为异常的类名通常也包含了该异常的有用的信息。所以在选择抛出异常的时候,应该选择合适的异常类,从而可以明确的描述该异常的情况。在这种情形下,应用程序常常需要抛出自定义异常。
用户的自定义异常,常常都应该继承Exception类,如果需要自定义Runtime异常,则应该继承RuntimeException基类。定义异常类的时候通常需要提供两个构造器:一个是无参数的构造器,另一个是带字符串参数的构造器,这个字符串将作为该异常对象的描述信息(也就是异常对象的getMessage()方法的返回值)

下面的例子程序创建了一个自定义异常类

public class AuctionException extends Exception{
        //无参数的构造器
        public AuctionException(){}; 
        //带一个字符串
        public AuctionException(String msg){
                super(msg)
        }
}

上面的程序创建了AuctionException异常类,并且为该类提供了两个构造器。尤其是那个带字符串参数的构造器,其执行体也非常的简单,仅仅通过super来调用父类的构造器。正是这行super调用可以将此字符串参数传给异常对象的message属性,该message属性就是该异常对象的详细描述信息

如果需要自定义Runtime异常,只需要将AuctionException.java中的Exception基类改为RuntimeException基类,其他地方无需修改。

以上代码已经可以应用到大多数的自定义异常的情况,在我们实际应用中可以借助于上述代码完成自定义异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值