1.在修改已有代码的时候,参考之前的代码作者留下的代码,需要考虑代码的异常处理情况,如果全都是void类型的函数,而内部又都是全局变量,或者采用消息队列的方式去同步分层架构之间的多任务处理过程,不做到每调用一个函数,都有返回值判断,那么就会导致隐藏的bug,并且这种问题只有在极限测试的情况会出现。
2.所以参考了网络上的软件异常处理总结如下:
<1>能处理的异常就要考虑,每一步函数调用,或者C库函数,都需要判断返回值,自己封装的函数,也需要在函数里面判断调用其他模块函数的返回值,如果没有这些处理,在低负载的情况下,不会暴露问题,但不能面对高负载的情况下,就容易出现各种异常。
<2>所有的操作都是不可靠的,但只要有处理不可靠的机制或者提示信息,能构造一个有问题但可靠地系统。
转发一条很有参考价值的链接:
http://www.bingobing.net/archives/144 |