点击这里给我发消息 点击这里给我发消息

来自C++之父Bjarne Stroustrup的建议

添加时间:2013-12-7
    相关阅读: 设计 开发 技术 程序 C++ 项目
 

1. Don’t use exceptions where more local control structures will suffice;    当局部的控制能够处理时,不要使用异常;

2. Use the "resource allocation is initialization" technique to manage resources;   使用“资源分配即初始化”技术去管理资源;

3. Minimize the use of try-blocks. Use "resource acquisition is initialization" instead of explicit handler code;    尽量少用try-catch语句块,而是使用“资源分配即初始化”技术。

4. Throw an exception to indicate failure in a constructor;     如果构造函数内发生错误,通过抛出异常来指明。

5. Avoid throwing exceptions from destructors;     避免在析构函数中抛出异常。

6. Keep ordinary code and error-handling code separate;      保持普通程序代码和异常处理代码分开。

7. Beware of memory leaks caused by memory allocated by new not being released in case of an exception;  小心通过new分配的内存在发生异常时,可能造成内存泄露。

8. Assume that every exception that can be thrown by a function will be thrown;    如果一个函数可能抛出某种异常,那么我们调用它时,就要假定它一定会抛出该异常,即要进行处理。

9. Don't assume that every exception is derived from class exception;     要记住,不是所有的异常都继承自exception类。

10. A library shouldn't unilaterally terminate a program. Instead, throw an exception and let a caller decide;    编写的供别人调用的程序库,不应该结束程序,而应该通过抛出异常,让调用者决定如何处理(因为调用者必须要处理抛出的异常)。

11. Develop an error-handling strategy early in a design;    若开发一个项目,那么在设计阶段就要确定“错误处理的策略”。  

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册