1、CAA V5 Error Processing Rules
1、V5 处理错误的四种常见方式:
(1)“自定义”返回值是用来传递该方法失败的调用,返回一个空指针或一个非空的整数;
(2)该方法返回一个HRESULT,使用e_fail或其他e_codes传给调用者。caterror类实例一般与与HRESULT相关;
(3)抛出异常来处理关键故障。并且用caterror类进行补充;
(4)No error management.
注意事项:
(1)抛出异常,有时与返回的HRESULT,相关的指针,一个整数等相关。
(2)Word Exception是V5的异常,,是caterror类的实例使用catthrow宏。当用C++异常进行处理时,他们被称为C++原生异常。
(3)mkmk停用默认的C++原生异常。如果你需要模块中使用C++原生异常,添加下面语句在imakefile.mk文件来激活他们:
cxx_exception = ;等符号后不添加任何值。注意不要嵌套使用V5异常和C++原生异常。
2、Error Management Rules:
规则1:每个框架的边界必须使用HRESULT来报告错误,必须是异常的,即使是内部使用的异常。
规则2:所有返回的caterrors使用HRESULT或者是被已被记录的异常。
规则3:不在构造函数和析构函数中包括错误处理的代码。

专注搬砖,擅长搬砖砸自己的脚~~~
Email:
ltwbuaa@163.com

浙公网安备 33010602011771号