基於此回答: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