2013-05-15 8 views
23

Dies scheint eine dumme Frage, aber ich kann nicht herausfinden, wie Ausnahmen in Intellij Idea zu debuggen. Googeln hilft auch nicht.Wie Intellij Ideas Ausnahme Breakpoints zu verwenden

Ich versuche, Ausnahme Haltepunkte zu erstellen. Wenn IDEA bricht, erwarte ich, dass es mir einen Aufruf-Stapel gibt, der anzeigt, was zu der Methode führt, die die Ausnahme auslöst, sowie automatisches Überwachungsfenster genau wie das Debugging-Tool von Visual Studio. Stattdessen zeigt es alle Arten von verstümmelten Nachrichten über Launcher oder ClassLoader, aber keine Anzeichen für die tatsächliche Ausnahme während der Laufzeit.

Also wie genau soll IDEA's Ausnahme Breakpoint verwendet werden?

+0

Kein Duplikat, aber die Antworten hier könnten Ihr Problem lösen: http: // stackoverflow.com/questions/8850698/debugger-only-stops-bei-breakpoints-will-not-step-over –

Antwort

8

ich mich endlich herausgefunden. In den View Breakpoints Fenstern, überprüfen Sie Any Exception, deaktivieren Sie die Markierung für Caught exception. Die Launcher- und Class Loader-Ausnahmen werden von der JVM intern abgefangen und verarbeitet. Auf diese Weise werden alle Benutzerausnahmen abgefangen, ohne den Typ der Ausnahme manuell anzugeben.

53

Es funktioniert wirklich gut und ich weiß nicht wirklich, welche Probleme Sie mit Launcher oder ClassLoader haben. Es könnte sein, dass Sie ausgewählt haben, um Any exceptions abzufangen, und dies bedeutet, dass es alle Arten von Ausnahmen während des Starts und des Klassenladens abfangen wird. Sie müssen bestimmte Entscheidungen darüber treffen, welche Ausnahmen abgefangen werden sollen, oder Sie müssen sie alle durchlaufen, bis Ihre Ausnahme abgefangen wird.

Jedenfalls werde ich Ihnen zeigen, wie ich einen sehr einfachen Fall aufstelle und Sie werden sehen, dass es wirklich gut funktioniert.

Ich habe einen einfachen Fall, in dem ein NullPointerException geworfen wird.

Zuerst müssen Sie den Ausnahme-Breakpoint einrichten.

Geben Sie die View Breakpoints... Fenster von Strg +Umschalt +F8 drücken. Dann drücken Sie das kleine + Zeichen in der oberen linken Ecke.

enter image description here

Geben Sie Nullpointer und drücken Sie die Taste OK.

enter image description here

Vergewissern Sie sich, dass die Any exception nicht aktiviert ist.

nun das Programm durch einen Rechtsklick im Hauptverfahren laufen und wählen Debug 'SomeClass.main()'

enter image description here

Und schließlich beobachten, wenn die Ausnahme gefangen wird und Sie haben alle Dinge, die Sie wie Anruf erwartet Stapel und Uhrfenster.

enter image description here

+0

Es war das gefürchtete "+", das mich stolperte (und das brachte mich hierher). Zumindest ist IntelliJ darin übereinstimmend; Jetzt muss ich mich erst daran gewöhnen. – fool4jesus

+3

Danke Mann, du hast mein Leben gerettet! Ich wünschte, ich könnte dich 100000 Mal aufrüsten – OWADVL

Verwandte Themen