断言和异常的区别

异常被捕获后可以不做处理,程序从捕获位置继续执行,断言是无法忽略的,程序在断言失败处立即终止。断言通常用于调试版本,用来发现程序中的错误,虽然异常也能起到这样的作用,但是不应该用异常代替断言。
1)如果发生了逻辑错误,必须修改程序,而不可能在程序中进行处理和恢复,随意不需要向外传送,没有必要使用异常。
2)使用断言的开销比异常小得多,而且断言可以从发布版完全去除。
异常用于处理争取程序中的运行期问题(比如内存分配失败,窗口创建失败,线程创建失败,打开文件失败),以尽可能回复,而不是终止程序,对于运行异常,使用断言是非常不合适的,理由很显然
1)断言在发布版不起作用
2)断言的处理方式不够友好
3)运行异常不是程序错误,没有必要报告源码出错位置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值