2012-05-25 62 views
4

我有一個64位系統與Win7和我使用VS2010與.Net Framework 4.0。例外沒有捕獲

在Winform應用程序中,我從第三方組件獲得一個異常,我嘗試用Try-Catch捕獲此異常,但它不起作用!

爲什麼?

enter image description here

UPDATE

如果我未檢查異常CLR它工作正常,但我不得不檢查,由於這個已知的問題:Why the form load can't catch exception?

如果我按F10就繼續進入catch語句!

+0

這似乎很奇怪。 「例外」當然應該抓住這一點。你有沒有嘗試明確地捕獲拋出的異常類型? – MoonKnight

+0

我試圖修正標題中的語法,然後我意識到這是故意的。懶洋洋。 (SO拒絕與舊版標題相同的新問題)。 – dandan78

+0

您的程序是在執行完後執行還是在執行中執行? –

回答

1

似乎你在這裏調用一個非託管的dll。嘗試使用ExternalException Class捕捉此異常。這可能對你有效,但是一旦你超出了.NET運行時的控制範圍,完全取決於非託管代碼; .NET運行時沒有任何功能。當異常跨應用程序域或管理/本地邊界(僅限託管)

在你的工具 - >選項 - > Debugging->常規

中斷:

+2

即使它是一個非託管dll ......'ExternalException'具有'Exception'作爲基類。所以它被catch(Exception)'捕獲 – Stephan

0

有你有以下設置選中標籤爲Visual Studio 2010

其解釋在MSDN here