Iam在C++項目中使用c#dll的SMO調用函數,但該dll中的代碼拋出了一些異常,所以如何在我的應用程序中顯示異常消息C++代碼如何在C++代碼中顯示託管C#代碼的異常消息
回答
這取決於你如何調用它。如果你使用COM,那麼你會得到一個失敗HRESULT。您可以使用IErrorInfo來檢索異常消息。如果你使用別的東西,那麼你將失去錯誤上下文,你只能看到一個SEH異常,異常代碼爲0xe0434f4e,只能用__try和__except關鍵字捕獲。
強烈建議使用COM。
在您發佈代碼後編輯。好的,你正在使用COM。從_im_ptr_t派生的智能指針由#import指令創建。這些智能指針將HRESULT失敗轉化爲C++異常。您需要捕獲_com_error異常。該類還具有獲取合適的異常描述的管道,使用Description()方法。
IAM新的這個SEH你可以請舉一些例子如何使用它 – user186246 2010-01-15 14:49:20
小時,HRESULT hRes在第一個塊顯示成功,任何想法? – user186246 2010-01-15 15:21:26
嗨,我粘貼代碼下的輸出。調用getSQLInstances()會拋出一些異常。我想查看它拋出的異常。請給出一些例子來說明如何去做? – user186246 2010-01-16 04:27:46
- 1. C++託管代碼
- 2. 在非託管C++代碼
- 3. 如何處理非託管代碼中的託管異常
- 4. 在c#中的pInvoke(託管代碼)
- 5. C++ cli從非託管代碼調用託管代碼
- 6. 將非託管C++代碼編譯爲託管代碼
- 7. C++/cli將託管代碼傳遞給非託管代碼
- 8. 如何顯示異常消息(Razor/C#)
- 9. 在託管代碼中集成測試NUnit的C++代碼
- 10. 託管C#中的自由非託管C代碼內存
- 11. 將數據從非託管代碼(C)傳遞到託管代碼(C#)
- 12. 釋放C#中的非託管代碼
- 13. 託管代碼中的指針? C#
- 14. C#從C++更正託管代碼
- 15. GC和C#非託管代碼/ C++
- 16. 本地C++編寫C#託管代碼
- 17. 如何在html中顯示C++代碼?
- 18. 在代碼中的Excel消息(C#)
- 19. 將一些C#代碼轉換爲託管或C++/CLI代碼
- 20. 託管代碼與非託管代碼
- 21. 浮點異常C代碼
- 22. C++異常代碼查找
- 23. C++異常類源代碼
- 24. 在C++/CLI代碼中包含來自非託管C++代碼的頭文件
- 25. 從C#託管代碼調用win32 CreateProfile()管理代碼
- 26. 如何在C++異常處理中包裝我的C代碼?
- 27. C++中的委託代碼
- 28. 在Wordpress.com顯示C#代碼
- 29. 如何捕捉託管C++中的非託管C++異常
- 30. NullReferenceException對非託管的c + +代碼
你有從你調用的方法返回值的形式嗎? – saret 2010-01-15 13:06:09
iam只返回一個字符串,沒有處理任何異常在C#塊 – user186246 2010-01-15 14:37:00