2012-07-31 15 views
10

Al depurar utilizando Visual Studio 2012 RC con la excepción de interrupción activada, Visual Studio se rompe con las excepciones desde .NET Framework. ¿Cómo hago que rompa las excepciones solo en mi código?Visual Studio 2012 RC se rompe en excepciones desde .NET Framework. ¿Cómo hago que rompa las excepciones solo en mi código?

Al depurar un proyecto de ASP.NET MVC 4, se generan muchas excepciones de marco en cada página afectada. La siguiente excepción ocurre muchas veces:

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: 

Esta excepción está llegando desde el interior de mscorlib.dll que no me no quiero Visual Studio para romper sucesivamente.

Parece que me falta una columna en la ventana de excepciones. Solo veo la columna "Lanzada" y falta el "Usuario no controlado". Este podría ser mi problema.

Respuesta

23

Creo que todo lo que tiene que hacer es ir a

Depuración -> Opciones -> Depuración y comprobar Habilitar Sólo mi código (Managed solamente)

+0

¡Esto lo arregló! Gracias. – KTrace

+0

@Malcolm: Gracias. Esto me ahorró mucho tiempo – SharpCoder

+1

En mi caso (Basado en la configuración del entorno) esta opción estaba disponible en Herramientas> Opciones> Depuración> General> marcar Habilitar solo mi código (solo administrado) – SharpCoder

0

Ir a Depurar ->Excepciones y desmarcar todo. Esto le indicará al depurador que se limite solo a las excepciones que no se manejan. Las excepciones no controladas son aquellas que no están "atrapadas", que no ocurren dentro de un try/catch apropiado.

Pero tenga en cuenta que cualquiera que sea el tipo de excepción que ocurra, si no se maneja, el depurador se romperá o la aplicación se cerrará. Así es como se supone que debe funcionar. Si espera que ocurra la excepción, ajuste el código culpable en el bloque try/catch correspondiente.

En este caso sería

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

Quiero romper las excepciones manejadas en mi código no solo las no manejadas. – KTrace

+0

Disculpa, no entendiste tu pregunta. En ese caso, marque ** Excepciones de Common Language Runtime **. –

+0

Ya está marcado. Cuando está marcado se rompe en todas las excepciones dentro de .NET Framework. Desactivado, no se rompe en nada. – KTrace

Cuestiones relacionadas