我正在創建一個使用聚合(內置)COM對象的類庫。此COM對象的方法和屬性可能會拋出COMException,其中ErrorCode屬性爲HRESULT,表示COM對象的內部邏輯中存在錯誤。異常處理應用程序塊 - 如何根據原始消息的某些屬性用我自己的原始消息替換原始消息?
例如,HRESULT(和因此COMException.ErrorCode)= -1001意味着特定方法的輸入參數格式不正確。
我想利用異常處理應用程序塊在我的圖書館,並在接下來的方式我的自定義異常更換有意義的錯誤碼COMExceptions:
COMException.ErrorCode = -1001 ---> MyLibraryException.ErrorReason = DeviceError .BadFormatOfInputParam & & MyLibraryException.InnerException = originalCOMException,其中DeviceError是枚舉&其中是明確DeviceError memeber從COM對象的每個特定HRESULT。
如何使用異常處理應用程序塊實現此目的?
感謝