2017-06-06 55 views
0

與Outlook互操作時,我需要處理幾個例外情況,它們全都是COMExceptionHResult,唯一的區別在於它們的Message屬性。確定兩個具有相同HResult的ComException類型

我必須通過檢查Message屬性來相互告訴他們,但是這樣的代碼是在尋求麻煩。

if (ex.Message.Contains("is bigger than the server allows")) //??? 

那麼在檢查異常類型和HResult屬性不起作用時,處理異常的正確方法是什麼?

enter image description here

enter image description here

+0

這就是着名的E_FAIL。他們是*煩惱*例外。如果你處理它們,那麼你必須採取糾正措施,以便它們不能再被提出。因此,大致上,對話框要求您運行UI自動化代碼,以查找對話框並將其關閉。儘管這肯定是出於很好的原因,並且用戶正在與它進行交互。附件錯誤要求您運行安裝程序以獲得更好,更大的服務器版本。即使這肯定是服務器管理員所做的*不*要你做的。你無法處理這些事實。 –

回答

0

檢查的信息是我們在類似項目一樣。這是醜陋的,但工作。爲了獲得更多的安慰,您可以查看一些Outlook規範以獲取完整的錯誤消息列表。 你是什麼意思是「惹麻煩」?代碼不健壯?

+0

最大的問題是,錯誤消息已經本地化在客戶的設備上。在這種情況下,我期望錯誤代碼是明確定義的整數。 – kennyzx

相關問題