【第45条】在细节消息中包含失败-捕获信息

本文介绍了自定义异常时的最佳实践,强调了异常信息的重要性。通过提供详细的上下文信息,可以帮助开发者快速定位问题所在。例如,IndexOutOfBoundsException不仅报告了错误类型,还提供了最小、最大及当前索引值,便于判断越界的具体情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    这一条是写给那些自己写Exception的程序员的。

 

    为了在异常发生后捕捉失败原因,一个异常的字符串表示应该包括所有“对该异常有贡献”的参数和域的值。也就是说在异常所能“携带”的信息中,尽量多的加入对调试人员有用的信息。

 

    一个例子是 IndexOutOfBoundsException ,在这个下标越界的异常中,提示出了,最小小标、最大下标和当前下标的值,这样调试人员就可以很清楚的知道到底是上溢出了,还是下溢出了,溢出了多少。

 

    这一条对于自己扩展Exception类来说,非常有意义。扩展时不仅仅是继承已有的异常就行了,纵然可以通过异常的名称来获得错误原因,但这往往是不够的,失败发生当时的信息必须通过异常的字符串表示传达出来。

 

 

 

【Effective Java 学习笔记】系列连载专题请见:
http://tonylian.iteye.com/categories/64208

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值