我的c++异常编码规范
来源:互联网 发布:软件外包交易平台 编辑:程序博客网 时间:2024/05/22 03:20
一、在c++模块内部用异常而不是用返回值来报告错误;
二、不要让c++异常穿越模块边界(标准的动态库,传统的导出c函数的那种);
三、异常作为precondition的check比assert优秀,所以不要使用assert检查不变式(检测逻辑错误);
四、返回值是很有用的传值通道,如非必要(比如说跨越模块边界)还是用异常来抛出错误(返回非逻辑错误);
五、逻辑错误是可以避免和调试改正的,由于疏忽大意或者不看接口规范而抛出的异常时我们修改bug的贤内助,所以请不要捕获这种异常(除非你故意与函数作者作对这另当别论);
六、除去前置条件外,函数抛出异常时是由于它无法完成它声明的契约功能,所以当你不清怎么处理这个异常的时候请不要捕获它。坚决鄙视捕获所有异常的行为。
七、当某件事情会平凡发生的时候,即使它代表与这个函数名相反含义,它不代表异常;它应该成为函数契约的一部分,因为我们能够预料发生失败的情况是多么的频繁。
呵呵在pongba新闻组中讨论了半天“c++ exception” 口水说了不少,总结下;贴出来做个标记欢迎不同意见。
- 我的c++异常编码规范
- 我的编码规范
- 我的编码规范
- 我的SQL编码规范
- 我的XAML编码规范
- C语言的编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Google的Objective-C编码规范
- Linux下的C语言编码规范
- 一些Objective-C的编码规范
- C语言良好的编码规范
- 编码规范,objective-c编码规范
- 深入理解C# 3.0的五项主要改进
- 一、为Struts 2.0做好准备
- Web Services开发体会和在项目中的教训
- 关于插入点的一个讨论
- 简单好用的Log工具
- 我的c++异常编码规范
- VS2008中JavaScript编辑调试器的秘密
- OpenBSD 4.2 released today
- 奥运票务网站——话题仍在继续(软件设计的前期评估)
- Ilist排序
- 使用.NET存储XML数据
- Visual C#实现Windows信使服务
- 仿射变换
- 本人的Reapter分页控件