10

使用 Visual Studio 2012 RC 调试并打开异常中断时,Visual Studio 会中断 .NET Framework 内的异常。如何使其仅在我的代码中中断异常?

在调试 ASP.NET MVC 4 项目时,每次点击页面都会引发很多框架异常。以下异常经常发生:

System.Globalization.CultureNotFoundException occurred
  HResult=-2147024809
  Message=Culture is not supported.
Parameter name: name
UserCache is an invalid culture identifier.
  Source=mscorlib
  ParamName=name
  InvalidCultureName=UserCache
  StackTrace:
       at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
  InnerException: 

此异常来自 mscorlib.dll,我不希望 Visual Studio 中断。

看起来我在例外窗口中缺少一列。我只看到“抛出”列并且缺少“用户未处理”。这可能是我的问题。

4

2 回答 2

27

我相信你需要做的就是去

调试 -> 选项 -> 调试并选中Enable Just My Code (Managed Only)

于 2012-07-31T14:16:59.007 回答
0

转到Debug -> Exceptions并取消勾选所有内容。这将告诉调试器仅在未处理的异常上中断。未处理的异常是未“捕获”的异常,它们不会在适当的 try/catch 中发生。

但是要明白,无论发生哪种类型的异常,如果不处理,调试器将中断或应用程序将退出。这就是它应该如何工作的方式。如果您希望发生异常,请将罪魁祸首代码包装在适当的 try/catch 块中。

在这种情况下,那将是

try
{
...
}
catch (CultureNotFoundException ex)
{
   // Show your own message here, or otherwise handle the exception
}
于 2012-07-31T14:06:43.110 回答