6.异常处理准则

内容提要:
• finally从句里放资源回收类代码

• 尤其得当心的RuntimeException

• 通过异常处理机制,尽可能小地缩小影响范围

• 异常处理的重要准则

finally从句的特性

• 不管是否发生异常,不管发生何种异常,finally从句代码会被执行

• try和catch里有return,finally从句也会被执行

• 除非有System.exit(0)语句,finally从句才不会被执行


运行期异常会中断程序
• 运行期异常(RuntimeException)无需用try…catch包含

• 一旦出现,会终止程序 • 常见的有空指针异常,除0异常

异常处理的准则
• 在finally从句里释放资源;

• 尽可能地缩小try语句的监控范围,比如某方法有100行,其中第4到 第20行代码用来连接数据库,第50到90行代码用来连接网络,不好 的做法是,直接用一个try来包围第4到第90行的代码;

异常处理的准则
• 先用专业的异常类来处理,最后再用Exception异常来兜底
• 在catch从句里,尽可能地恢复异常,或尽可能详细地输出异常信息, 别仅仅抛出异常了事,如下给出一种不好的做法
尽可能小地缩小因异常而导致的影响范围

• 比如有两个平行的业务,相互间不该影响,错误的写法


• 正确的写法



尽可能小地缩小因异常而导致的影响范围
• 从csv文件里读100条数据,随后依次插入数据库,如果其中一条插入 语句出错,将不能影响其它的插入动作,错误的做法如下。


• 正确的写法


总结

1. finally从句里应该放释放资源的代码

2. 捕获可能出现的运行期异常,以避免程序终止 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值