2010-05-11 4 views
23

Quando si verificano eccezioni non gestite in VStudio, in genere il debugger evidenzia la riga YELLOW come la riga che ha generato l'eccezione.Eccezioni verdi?

Tuttavia a volte che incontro eccezioni in cui il debugger evidenzia li verde come mostrato:

enter image description here

li ho sempre trattati come eccezioni normali, ma oggi ho deciso di chiedere da quando Google/Bing ha prodotto alcun risultato per "Eccezioni Visual Studio Green"

+6

+1 per il titolo divertente. –

+8

Queste sono le SOLO eccezioni che potrai mai lanciare, se * ti preoccupi per l'ambiente *. – Chris

+1

Per prima cosa ho pensato che si trattava di lanciare eccezioni in un modo attento all'ambiente per minimizzare il consumo di energia e la produzione di CO ... non ha soddisfatto le aspettative. –

risposta

18

La riga viene evidenziata in giallo se è la linea che ha gettato direttamente l'eccezione (in genere una dichiarazione throw).
È verde se la linea è una chiamata a una funzione diversa che ha generato l'eccezione (in genere una chiamata a una funzione .Net che ha generato un'eccezione).

+8

In altre parole: gioca un po 'con la navigazione nello stack delle chiamate. Vedrai giallo se ti trovi nella cornice dello stack più in alto e verde per ogni fotogramma sottostante. – Jon

+0

@SLaks puoi dare un riferimento per questo. la risposta non è abbastanza chiara. –

+0

@HakamFostok: https://msdn.microsoft.com/en-us/library/a3694ts5.aspx – SLaks

5

La linea gialla è la linea in cui viene effettivamente generata l'eccezione.

La linea verde indica una linea influenzata indirettamente.

Penso che lo screenshot chiarisca. Si noti che ho dovuto usare la finestra "Callstack" e passare al metodo Main() per ottenere questo effetto.

Green and yellow exception in Visual Studio

Problemi correlati