2012-07-31 60 views
10

使用Visual Studio 2012 RC进行调试并打开异常时,Visual Studio将打破.NET框架内的异常。我如何才能在只有我的代码中打破异常?Visual Studio 2012 RC在.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打破。

它看起来像我在例外窗口中缺少一列。我只看到“Thrown”列和“User-Unhandled”丢失。这可能是我的问题。

回答

23

我相信所有你需要做的就是去

调试 - >选项 - >调试和检查启用仅我的代码(仅限托管)

+0

这个修好了!谢谢。 – KTrace 2012-07-31 14:19:45

+0

@Malcolm:谢谢。这节省了我大量的时间 – SharpCoder 2013-03-05 07:30:52

+1

在我的情况下(基于环境设置)此选项可在工具>选项>调试>常规>选中启用只是我的代码(仅管理) – SharpCoder 2013-03-05 07:33:28

0

转至调试 - >例外并剔除所有内容。这将告诉调试器只在未处理的异常情况下中断。未处理的异常是未被捕获的异常,这些异常不会在适当的try/catch中发生。

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

在这种情况下,这将是

try 
{ 
... 
} 
catch (CultureNotFoundException ex) 
{ 
    // Show your own message here, or otherwise handle the exception 
} 
+0

我想让它在我的代码中处理异常而不仅仅是未处理的异常。 – KTrace 2012-07-31 14:08:57

+0

对不起,误解了你的问题。在这种情况下,请勾选**公共语言运行时例外**。 – 2012-07-31 14:09:32

+0

它已经打勾。勾选时,它将打破.NET Framework中的所有异常。未经证实,它不会破坏任何东西。 – KTrace 2012-07-31 14:14:01

相关问题