# Variablen bei Exception loggen



## looparda (9. Mrz 2017)

Ich habe damals mit dem Programmieren in der Web-Ecke angefangen und mit PHP und Xdebug Erfahrung gesammelt. Dort gibt es die die Möglichkeit alle Variablen zu dumpen, wenn eine Exception auftritt:





Manchmal vermisse ich diese Informationen beim Debuggen in Java. Das einzige was ich dazu gefunden habe war overops (ehem. takipi), was mir jedoch etwas übertrieben scheint. Außerdem wird oft logging als Alternative vorgeschlagen (was aber dieser Funktion meiner Meinung Nach nicht gerecht wird)
Kennt jemand etwas vergleichbares in der Richtung?


----------



## Thallius (9. Mrz 2017)

Ja. Heißt Breakpoint. Einfach schauen wo die exception fliegt und dann kurz vorher breakpoint setzen.


----------



## looparda (9. Mrz 2017)

Ich bitte dich! Breakpoint ist hier nicht gemeint und von der Art auch vollkommen anders. Es geht, wie gesagt um das loggen der Variablen im Fall einer Exception. Stell dir folgendes vor:

```
for(int i; i<999; i++) {
    if(i==988) {
        throw new Exception("");
    }
}
```
Nein, ich möchte i nicht loggen und darauf schauen bei welchem Wert von i die Exception auftrat. Ich möchte, dass ich beim Auftreten der Exception den Wer von i erfahre.


----------



## mrBrown (9. Mrz 2017)

Du erwähnst doch oben selbst Debugging, während des laufenden Betriebs ist doch wohl kaum gemeint? In den meisten Debuggern kann man Breakpoints an Exceptions hängen, dann bekommt man genau das


----------



## looparda (9. Mrz 2017)

Genau, das Programm im Debugger laufen lassen. Ohne aktiv Breakpoints in allen catch Blöcken zu setzen. Das mit dem Breakpoints an Exceptions hängen ist mir neu aber ist genau das was ich gesucht habe. In IntelliJ lässt sich das so konfigurieren:




Das Programm rennt durch und stoppt, wenn die Exception auftritt und man sieht wie üblich alle Variablen - so wie ich es wollte.
@Thallius: meintest du Exception Breakpoints von Anfang an? Sorry, da wusste ich noch nicht, dass es diese Art von Breakpoints überhaupt gibt und die Vorgehensweise mit normalen Breakpoints war genau nicht das was ich wollte - dachte du willst mich trollen.


----------

