在编写Win32 C++代码时,我会很感激有关如何处理Win32 API错误的一些提示。关于错误处理Win32 C++代码的建议:AtlThrow与STL例外
特别地,在一个Win32函数调用的故障(例如MapViewOfFile)的情况下,是能够更好地:
限定自std一个Win32Exception类::异常,增加一个HRESULT数据成员来存储对应于由GetLastError返回的值的HRESULT?
在后一种情况下,我可以使用什么()方法返回一个详细的错误字符串(如 “MapViewOfFile调用MyClass中:: DoSomething的()方法。失败”)。
1对2有什么优点和缺点?
有没有其他更好的选择,我错过了?作为一个方面说明,如果我想本地化我正在开发的组件,我怎么能本地化异常什么()字符串?我正在考虑构建一个表,将由what()返回的原始英文字符串映射到Unicode本地化错误字符串。任何人都可以提出更好的方法?
非常感谢您的见解和建议。