我們有以下代碼:例外不被抓住
try {
// some code throwing MyException
} catch (MyException ex) {
// [1]
// no (re)throw here
} catch (Exception ex) {
if (ex is MyException) {
// [2]
}
}
如果我們運行沒有附加調試器的代碼,一切都正常運行。但是,如果我們調試代碼,我們不會指向[1],而是[2]。據我瞭解語言規範,這應該是不可能的。
即使這個代碼很奇怪,這個代碼甚至在調試時也能正常運行。這種奇怪的行爲僅在幾天前纔開始。
您確定確實執行了[2]嗎?即使執行了正確的代碼,VS調試器有時也會突出顯示錯誤的行。 – dtb 2010-03-08 07:45:14
是其他程序集的'MyException'部分嗎?刪除對它的引用並再次添加它,構建項目。看看是否有幫助。 – shahkalpesh 2010-03-08 08:01:40
清理解決方案並重新構建它。 – HotTester 2010-03-08 08:05:17