2012-07-31 5 views
10

Durante il debug con Visual Studio 2012 RC con interruzione dell'eccezione attivata, Visual Studio interrompe le eccezioni all'interno di .NET Framework. Come faccio a rompere le eccezioni solo nel mio codice?Visual Studio 2012 RC interrompe le eccezioni all'interno di .NET Framework. Come faccio a rompere le eccezioni solo nel mio codice?

Durante il debug di un progetto ASP.NET MVC 4 ci sono un sacco di eccezioni framework generate su ogni colpo di pagina. Il seguente eccezione accade molto:

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: 

Questa eccezione è venuta da dentro mscorlib.dll che io non ne voglio Visual Studio per rompere su.

Sembra che manchi una colonna nella finestra delle eccezioni. Vedo solo la colonna "Gettato" e "Utente non gestito" mancante. Questo potrebbe essere il mio problema.

risposta

23

credo tutto quello che dovete fare è andare a

Debug -> Opzioni -> Debug e verificare Attiva Just My Code (gestito solo)

+0

Questo l'ha risolto! Grazie. – KTrace

+0

@Malcolm: Grazie. Questo mi ha fatto risparmiare molto tempo – SharpCoder

+1

Nel mio caso (Basato sulle impostazioni dell'ambiente) questa opzione era disponibile in Strumenti> Opzioni> Debug> Generale> seleziona Abilita solo il mio codice (solo gestito) – SharpCoder

0

Vai a Debug ->Eccezioni e deselezionare tutto. Questo dirà al debugger di interrompere solo su eccezioni che non sono gestite. Le eccezioni non gestite sono quelle che non vengono "catturate", che non si verificano in un tentativo/cattura appropriato.

Ma capire che qualsiasi tipo di eccezione si verifica, se non viene gestito, il debugger si interromperà o l'applicazione verrà chiusa. È così che dovrebbe funzionare. Se si prevede che l'eccezione si verifichi, avvolgere il codice colpevole nel blocco try/catch appropriato.

In questo caso, che sarebbe

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

Voglio farlo per rompere le eccezioni gestite nel mio codice non solo quelle non gestite. – KTrace

+0

Mi dispiace, ho frainteso la tua domanda. In tal caso spuntare ** Eccezioni di Common Language Runtime **. –

+0

È già spuntato. Quando barrato, si interrompe su tutte le eccezioni all'interno di .NET Framework. Unticked non si rompe su nulla. – KTrace

Problemi correlati