为什么要自定义异常

为什么要自定义异常?


自定义异常是为了设置异常链的起点。一般情况下,我们都是允许每个程序员看到所有的异常信息,这个时候大多数都是把下一层的异常直接重掷到上一层。然而在多层次的结构中,我们有时候需要隐藏底层异常(这种异常的信息很多,很枯燥) ,而给消费者提供一个更为直观的异常,这个时候我们需要自定义异常。有的异常类jdk已经给我们提供,比如常用的IllegalArgumentException。如果你想在此再作包装,你可以创建自己的异常类。如此,消费者将以此异常作为异常链的起点。


为什么要重掷异常?


重掷异常是处理异常的一种方式。在捕获了某种异常后,用户可能不希望在这一层做出裁决,或者即使做出了一定的处理,但仍然需要向上一层报告,因此需要重掷异常。

 

异常机制


一旦某个点发生异常,这个点下面和catch语句之间的代码将不会被执行。因此,异常是一种中止流程的很有效的机制。关于异常,在effective java中提到“异常转译”和“异常连接”的概念。本人倾向于用“异常转译”,前提是要配置log4j,并作详细的日志纪录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值