异常被捕获后可以不做处理,程序从捕获位置继续执行,断言是无法忽略的,程序在断言失败处立即终止。断言通常用于调试版本,用来发现程序中的错误,虽然异常也能起到这样的作用,但是不应该用异常代替断言。
1)如果发生了逻辑错误,必须修改程序,而不可能在程序中进行处理和恢复,随意不需要向外传送,没有必要使用异常。
2)使用断言的开销比异常小得多,而且断言可以从发布版完全去除。
异常用于处理争取程序中的运行期问题(比如内存分配失败,窗口创建失败,线程创建失败,打开文件失败),以尽可能回复,而不是终止程序,对于运行异常,使用断言是非常不合适的,理由很显然
1)断言在发布版不起作用
2)断言的处理方式不够友好
3)运行异常不是程序错误,没有必要报告源码出错位置。
断言和异常的区别
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
what's the advantages of using Map over Object in JavaScript?
xgqfrms
2024-05-21 13:54:54
JavaScript execute asynchronous functions in Parallel with count and Promise All In One
xgqfrms
2024-05-21 13:54:54
opensips开启lua支持
Mike_Zhang
2024-05-21 13:54:44
推荐一款模拟浏览器自动化操作神器!Mechanize
狂師
2024-05-21 13:54:14
数据库分区;pgAdmin操作pgsql分区;修改pgsql数据库名字
https://blog.csdn.net/wai_58934/article/details/130638117
規格嚴格-功夫到家
2024-05-21 13:49:33
keepalived利用VRRP Script进行资源监控 原创
https://blog.51cto.com/wangguishe/5789247 https://www.cnblogs.com/musen/p/11101676.html
規格嚴格-功夫到家
2024-05-21 13:49:33
arm64 下内核 crash—— 非法地址
yooooooo
2024-05-21 13:47:13
Kubernetes Pod调度:从基础到高级实战技巧
y_x
2024-05-21 13:46:03
Django性能优化:提升加载速度
Mifen
2024-05-21 13:44:43
CMU_15445数据库课程2023Fall
G港黑手黨碼農
2024-05-21 13:42:12
在Docker中安装PostgreSQL的ODBC驱动并添加Python测试代码
pccai
2024-05-21 13:42:02
在Docker中安装SQL Server的ODBC驱动并添加Python测试代码
pccai
2024-05-21 13:42:02
在Docker中安装GaussDB的ODBC驱动并添加Python测试代码
pccai
2024-05-21 13:42:02
在Docker中安装MySQL的ODBC驱动并添加Python测试代码
pccai
2024-05-21 13:42:02