Hi,
ich arbeite grade an einem Controller, der intern z.B. mit einer Datenbank kommuniziert. Nun kann dabei ja einiges schief gehen - man braucht also eine mögliche Fehlerbehandlung.
Bis jetzt benutze ich ein relativ unflexibles System, jede Methode gibt schlicht und einfach einen boolean wieder und die gui zeigt bei "false" eine von ihr erzeuge Message an. Das Problem daran ist klar: es können mehrere Fehler auftreten, die GUI weis aber nur allgemein durch false, das etwas schief gegangen ist und zeigt folglich nur sehr allgemeine Meldungen an. Weiterhin werden 2 Klassen, die die selbe Methode aufrufen bald unterschiedliche Meldungen zum Problem anzeigen. Deshalb sollte das ganze vom Controller selbst gebaut werden.
Das System muss ich nun also ändern, hab dazu 2 Ideen:
Nr1:
statt public boolean doSomething ()
nutze ich ein eigenes Objekt und public Response doSomething ()
dsa könnte dann folgendermaßen aussehen:
Alternativ dachte ich daran, dass eine selbstgeschriebene Exception bei Problemen geworfen wird. (public void doSomething () throws OwnException )
Der Aufbau könnte dann wie oben sein, + die normalen Exception Methoden.
Welche Variante wäre am günstigsten, oder gäbe es noch andere Ideen?
ich arbeite grade an einem Controller, der intern z.B. mit einer Datenbank kommuniziert. Nun kann dabei ja einiges schief gehen - man braucht also eine mögliche Fehlerbehandlung.
Bis jetzt benutze ich ein relativ unflexibles System, jede Methode gibt schlicht und einfach einen boolean wieder und die gui zeigt bei "false" eine von ihr erzeuge Message an. Das Problem daran ist klar: es können mehrere Fehler auftreten, die GUI weis aber nur allgemein durch false, das etwas schief gegangen ist und zeigt folglich nur sehr allgemeine Meldungen an. Weiterhin werden 2 Klassen, die die selbe Methode aufrufen bald unterschiedliche Meldungen zum Problem anzeigen. Deshalb sollte das ganze vom Controller selbst gebaut werden.
Das System muss ich nun also ändern, hab dazu 2 Ideen:
Nr1:
statt public boolean doSomething ()
nutze ich ein eigenes Objekt und public Response doSomething ()
dsa könnte dann folgendermaßen aussehen:
Code:
class Response {
public Response (String longText, String shorttext, Eception e){
//in Instanzvariablen setzen}
public String getLongText ();
public String getShortText();
public String getException ();
public JDialog getErrorDialog (JFrame owner){
JDialog x = new JDialog (owner);
//Dialog aufbauen, mit den Daten des Objektes etc...
}
}
Alternativ dachte ich daran, dass eine selbstgeschriebene Exception bei Problemen geworfen wird. (public void doSomething () throws OwnException )
Der Aufbau könnte dann wie oben sein, + die normalen Exception Methoden.
Code:
public OwnException (String longText, String shorttext, Eception e){
//in Instanzvariablen setzen}
public JDialog getErrorDialog (JFrame owner){
JDialog x = new JDialog (owner);
//Dialog aufbauen, mit den Daten des Objektes etc...
}
Welche Variante wäre am günstigsten, oder gäbe es noch andere Ideen?