Effective Java之避免使用受检的异常(五十九)

1.如何使用受检的异常?

如果一个方法抛出了一个或者多个异常,那么调用该方法的代码就必须在一个或者多个catch块中处理这些异常,或者方法上抛出这些异常,并让他们传播出去,无论是哪种方法,都给程序员带来了负担。

2.如何避免使用受检的异常?

异常的设计原则是在不正常的的情况下处理,如果可以把不正常的情况改变为正常思路下的部分,那么可以减少异常处理.不正常是特例,正常才是主流。

把”受检异常变成未受检异常”的方法是,把抛出异常的方法分解为两个方法,一个方法返回boolean,表示是否应该抛出异常.案例如下:

    try {  
        obj.action(args);  
    } catch (TheCheckedException e) {  
          ....  
    }  

重构成:

    if (obj.actionPermitted(args)) {  
        obj.action(args);  
    } else {  
        //...  
    }  

例如我们经常使用的打开文件的操作,用普通的判断语句(重构方法)可以判断是否存在文件,只需要在不存在文件的情况下提醒用户就可以了,所以不必要抛出FileNotExistException。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值