關於異常的疑難解答:System.Runtime.InteropServices.COMException


當 COM 方法調用返回一個無法識別的 HRESULT 時,將引發 COMException 異常。

檢查該異常的 ErrorCode 屬性,以確定 COM 對象返回的 HRESULT

當運行時遇到不熟悉的 HRESULT 時,會引發 COMException 異常,該異常包含一個公共的 ErrorCode 屬性,其中含有調用所返回的 HRESULT。 如果運行時有可用錯誤信息,則將相應信息返回調用方。 但是,如果 COM 組件開發人員未能包含錯誤信息,則運行時返回八位數的 HRESULT 代替消息字符串。 擁有 HRESULT 使調用方能夠確定異常的原因。 有關更多信息,請參見 如何:映射 HRESULT 和異常

禁用宿主進程。

COM 用於在 Visual Studio 和宿主進程之間進行通信。 因為它是在代碼運行前使用的,所以調用 CoInitializeSecurity 將引發此異常。

af1y26ew.collapse_all(zh-cn,VS.120).gif備注

公共語言運行時 (CLR) 將已知的 HRESULTS 轉換成 .NET 異常,這使 COM 對象能夠將有意義的錯誤信息返回托管客戶端。 HRESULTS 到異常的映射還可以反向工作,即將特定的 HRESULT 返回到非托管客戶端。

將后期綁定參數傳遞給 Microsoft Office 對象的方法以后,如果這些對象是 COM 對象,則可能引發 COMException 異常。 后期聯編程序假定:此類方法調用涉及 ByRef 參數,並且所傳遞的屬性具有 Set 訪問器。 如果相應屬性不具有該訪問器,則 .NET Framework 生成一個 MissingMethodException 異常 (HRESULT CORE_E_MISSINGMETHOD)。 要處理此行為,請使用早期綁定對象或傳遞變量而不是對象的屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM