MichiLee: Wie am besten Fehlermeldungen handlen

Beitrag lesen

Hi Encode,
danke für die schnelle Antwort.

Ich frage mich nun, wie ich aber bei einem Fehler bestimmte Fehlertexte auch an den User weitergeben kann. Ich kann den Fehler von der untersten (Connection) leider nicht bis in die View immer weiterreichen, da die Methoden immer verschiedene Typen zurückgeben.
Dazu gibts Exceptions. Die werden da im Aufrufbaum abgefangen, wo du das ausdrücklich haben willst.

Ja, an Exceptions habe ich auch gedacht. Dann müsste ich überall, wo etwas passieren kann try und catch blöcke machen, was ich eh gemacht habe. Ich könnte auch eine eigene Exceptionsklasse schreiben, was dann von Exception angeleitet ist. Auch kein Thema.

Ich frage mich aber, wenn ich im Baum ganz unten bin, Beispiel:

1. Der User klickt
2. Der Controller wird aufgerufen
3. Das UserModel wird aufgerufen
4. Es wird eine Query erstellt
5. Diese Query wird der Klasse für die Datenbankverbindung übergeben.

Innerhalb der Reihenfolge werden verschiedene Objekttypen untereinander weitergegeben oder zurückgegeben.

Nun frage ich mich, wenn ich in der Ebene 5 eine Exception auswerfe, dass der Datenbanktreiber nicht gefunden wurde, dann kann es die Ebene 4 abfangen, falls in Ebene 5 eine Exception passiert. Die Exceptionmeldung muss aber Standarisiert dann bis zum Controller zurück, der dann die Meldung dem User geben kann. (Ich schaue mir mal an, wie ich das mit den Exceptions noch geschickt einbauen könnte)

Könnte ich eine Klasse mit statischen Klassenvariablen wie zum Beispiel errorCode und errorText (String wenn nur der letzte Fehler gespeichert oder Vector wenn mehrere) schreiben.
Könntest du schon auch. Aber das ist doch umständlich zu handhaben.
Exceptions sind genau dazu da, was du vor hast.

Also prinzipiell wäre es mit statischen Klassenvariablen auch möglich?
Wenn man eine Klassenvariable "public static int errorCode=null" hätte dann könnte ich doch von überall aus in der Applikation durch Klassenname.errorCode=1 ja einen neuen Wert zuweisen können, wo dann später jede Klasse diese Klassenvariable abrufen oder einen neuen errorCode überschreiben könnte?

Dazu brauche ich ja keine sSetter und Getter, dennoch kann ich irgendwie von einer anderen Klasse nicht auf eine statische Klassenvariable zugreifen, Netbeans zeigt mit nach dem Punkt Klassenname. nicht die Klassenvariablen an.

Grüße