【发布时间】:2012-05-23 21:47:29
【问题描述】:
我正在调试我的 ASP.NET 应用程序(C#、Visual Studio)中的异常。 这个异常是在另一个线程的顶层抛出的(这不是问题,我改变了这个行为以不抛出顶层异常)。
我只是想知道这个: 此异常会杀死整个工作进程。但是,当我调试时,调试器会在该异常处停止,并且它似乎被反复“抛出”(每当我按下继续时,它都会再次停止在同一行)。它不再执行之前的行,所以它真的停在那个特殊的异常处。
这仅仅是因为调试器的特殊行为吗?还是在我不调试时也反复抛出异常?
提前致谢!
【问题讨论】:
-
如果我只是抛出一个未处理的异常,我会得到相同的行为,例如控制台应用程序。我不认为异常被反复抛出 - 只是由于某种原因调试器让你保持在那一行而不是让线程死亡。
-
感谢您的评论!是的,我之前在控制台应用程序中也看到过这种行为;但从来没有在 ASP.NET 应用程序中。也许是这样,因为在网络应用程序的主线程中存在某种导致黄屏的“全局捕获”。现在我看到了同样的行为,因为这是在另一个线程中?
标签: c# asp.net multithreading debugging exception