Java异常处理总结(1)

    最近看了一些java的东西,想把关于异常处理的相关知识来个自我总结。

    1.当存在finally时不要使用return,break,continue等语句试图跳出段落
    在try或者catch段落中最后使用return,break,continue等语句试图跳出段落,如果这时存在finally段落的话,那么在执行这些返回动作之前,需要先执行finally段落中的代码,这是java一个比较奇怪的地方。正是由于上述原因,如果使用了上述方式,将会造成一些难以察觉的问题出现。

    2.finally中避免资源泄漏
    有时在try中使用某些资源,比如打开数据库的连接,然后发生了异常,这时需要在finally中进行必要的处理,防止资源的泄漏,比如关闭上述数据库的连接。 

    3.try/catch与循环
    因为把try/catch会把程序的执行速度放慢N倍,好比是小心翼翼地做事,所以一般建议把循环放到try/catch里面,而不是在循环里面反复执行try/catch。

    4.当发生异常时,如果某一对象变为无效状态了,在对外抛出异常之前,需要把它恢复成有效状态。
    通常的做法是在try之前先保留有效状态,然后在catch中将其恢复成正常状态。

    5.关于throws语句的讨论
  
1.一旦在方法后加入throws语句,意味着所有的调用该方法的方法都会受到牵连,会使得让调用的那个方法继续添加throws语句,直到main方法为止。所以在设计类和方法的时候,应该在完成该方法设计的时候就添加好throws语句。
   2.如果需要在子类中覆盖父类中的一个方法,而此方法又有throws语句,那么你的throws语句会有三种选择
(1)不使用throws语句;(2)使用相同throws语句,使用包含父类throws中子异常的throws语句。
   3.如果在方法中抛出了父类异常和子类异常,建议在throws语句中全部列出,尽管你只一个父类异常是完全可以的。
       
    今天先到这里,下次继续。
           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值