Debuggen einer Ausnahme in einem leeren catch-Block

8

Ich debugge eine Produktion Anwendung, die einen Überhang von leeren catch-Blöcken hat seufzen :

%Vor%

Gibt es eine Möglichkeit zu sehen, was die Ausnahme ist, wenn der Debugger den Catch in der IDE trifft?

    
Rikalous 02.09.2008, 15:38
quelle

7 Antworten

1

Wenn Sie Visual Studio verwenden, gibt es die Möglichkeit, jedes Mal zu brechen, wenn eine Ausnahme ausgelöst wird, unabhängig davon, ob sie nicht behandelt wird oder nicht. Wenn die Ausnahme ausgelöst wird, wird der Ausnahme-Helper (möglicherweise nur VS 2005 und später) Ihnen sagen, welche Art von Ausnahme es ist.

Drücken Sie Strg + Alt + E , um den Dialog für die Ausnahmeoptionen aufzurufen und aktivieren Sie diese Option.

    
Chris Karcher 02.09.2008, 15:44
quelle
6

Wenn Sie im Bereich Locals Ihrer IDE innerhalb des catch-Blocks in VS suchen, haben Sie etwas mit dem Effekt $ EXCEPTION, das alle Informationen für die Ausnahme enthält, die gerade abgefangen wurde.

    
AdamB 02.09.2008 15:41
quelle
3

In Visual Studio - Debuggen - & gt; Ausnahmen - & gt; Aktivieren Sie das Kontrollkästchen "Common Language Runtime Exceptions" in der geworfenen Spalte

    
Mike Schall 02.09.2008 15:40
quelle
1

Sie können

schreiben %Vor%

Wenn hier eine Ausnahme ausgelöst und gefangen wird, können Sie z. B. ex überprüfen.

    
sectrean 02.09.2008 15:41
quelle
1

Nein, das ist unmöglich, weil dieser Codeblock sagt: "Die Ausnahme interessiert mich nicht". Sie können eine globale Suche durchführen und sie durch den folgenden Code ersetzen, um die Ausnahme zu sehen.

%Vor%

mit dem folgenden

%Vor%

Was dies tut, ist, dass Ihre aktuelle Produktion nichts für Production-Code einnimmt, aber wenn Sie in DEBUG laufen, können Sie Breakpoints für Objekt o setzen.

    
Nick Berardi 02.09.2008 15:41
quelle
0

Können Sie an dieser Stelle nicht einfach eine Ausnahme hinzufügen und diese untersuchen?

    
Johnno Nolan 02.09.2008 15:40
quelle
0

@sectrean

Das funktioniert nicht, weil der Compiler den Exception ex-Wert ignoriert, wenn nichts verwendet wird.

    
Nick Berardi 02.09.2008 15:44
quelle

Tags und Links