异常和断言的区别
来源:互联网 发布:淘宝网修改快递单号 编辑:程序博客网 时间:2024/06/05 08:23
异常被捕获后可以不作处理,程序从捕获位置继续执行。而断言是完全无法忽略的,程序在断言失败处立即终止。因此断言通常用于调试版本,用来发现程序中的逻辑错误。虽然异常也能起到这样的作用,但是不应该用异常代替断言:
1) 如果发现了逻辑错误,必须修改程序,而不可能在程序中进行处理和恢复,所以不需要向外传送,没有必要使用异常。
2) 使用断言的开销比异常小得多,而且断言可以从发布版中完全去除。
异常用于处理正确程序中的运行期问题(比如内存分配失败,窗口创建失败,线程创建失败,打开文件失败),以尽可能恢复,而不是终止程序。对于运行异常,使用断言是非常不合适的,理由很显然:
1) 断言在发布版不起作用;
2) 断言的处理方式不够友好;
3) 运行异常不是程序错误,没有必要报告源代码出错位置;
- 异常和断言的区别
- Java的异常、断言、日志和调试
- 了解异常和断言
- 异常和断言1
- 异常和断言2
- 异常和断言3
- 错误码、异常和断言
- 【面向对象】异常和断言
- python异常处理和断言
- 异常、日志、断言和调试
- 异常、断言、日志和调试
- 7 异常、断言和日志
- 第十章 异常和断言
- java 异常、断言和日志
- 11 异常, 日志, 断言和调试
- 笔记:异常、日志、断言和调试
- try块和异常处理,断言assert
- 内部类、异常、断言和Loger日志
- AT指令控制上网
- ThinkPHP 中的技巧与策
- ThinkPHP使用总结
- MFC时间CTime/SYSTEMTIME/COleDateTime/time_t
- LDD3源码分析之hello.c与Makefile模板
- 异常和断言的区别
- thinkphp输出sql语句
- 复选框取值.html
- ThinkPHP 手册摘录之跳转、重定向
- kindeditor 配置 和thinkphp中的照片路径配置
- Ubuntu 11.10中安装Qt sdk 1.2
- SAP算号器 license key Developer Access Key 完美解决方案(备用)
- Linux系统中静态库和动态库的生成和使用
- Thinkphp 分页