我们有以下代码:例外不被抓住
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