基于此回答:Catching COMException specific Error Code,我想知道,如果我只需要查看异常的特定部分,就可以正确处理跨操作系统和多个版本的OL的COMException。例如,如何处理Outlook插件中的HRESULT?
private const uint HRESULT_OPERATIONABORTED = 0x80004004;
// ...
try {
// something that could throw COMExceptions
} catch (System.Runtime.InteropServices.COMException e) {
switch ((uint)e.ErrorCode) {
case HRESULT_OPERATIONABORTED:
break;
default:
break;
}
}
这是足够的跨平台,或者是有必要只考虑错误代码的一部分吗?
编辑 - 只是为了澄清,我确切的问题是,是否比较(uint)e.ErrorCode
到0x80004004
太具体的(也就是说,是否我总是得到0x80004004
此特定错误,无论OS/OL),或者如果这是做事情的正确方法。
我只是说,XP和Win7之间。感谢标题,这正是我需要的。 – wes 2011-05-23 23:27:01