HSQLDB Fehlermeldung für den Bildschirm

Supra

Bekanntes Mitglied
Guten morgen,
ich bin noch in der Ausbildung und habe grade niemandenden ich um Rat fragen kann, also versuche ich es hier. Ich schreibe momentan meine schnittstelle zur Datenbank(DAO) und würde gerne wissen wie ich das mit der Fehlermeldung mache.
Code:
Java:
public void insert(Mannschaft mannschaft, Connection con) throws TurnierException
        {
                boolean conOffen = con == null;
                if (conOffen)
                {
                        con = DatenbankVerbindung.getInstance().stelleVerbindungHer();
                }
                PreparedStatement insertMannschaft = null;
                String insertQuery = "INSERT INTO Mannschaft(name, gruppe)VALUES(?,?)";

                try
                {
                        int zaehler = 1;
                        insertMannschaft = con.prepareStatement(insertQuery);
                        insertMannschaft.setString(zaehler++, mannschaft.getMannschaftsName());
                        insertMannschaft.setString(zaehler++, mannschaft.getGruppe());
                        insertMannschaft.executeUpdate();
                } catch (SQLException e)
                {
                        e.printStackTrace();
                        throw new TurnierException(e.getMessage());
                } finally
                {
                        DatenbankVerbindung.getInstance().close(insertMannschaft);
                        if (conOffen)
                        {
                                DatenbankVerbindung.getInstance().trenneVerbindung(con);
                        }
                }
        }

Ich momentan würde ich die SQLException ausgeben lassen. Ist es sinnvoll hier meine eigene Fehlermeldung im catch block zu definieren oder lieber wo anders? Ich habe einen service in der ich weitere prüfungen mache und dann die DAO-Methode aufrufe, zur not kann ich davon auch was hochladen.
 
Zuletzt bearbeitet:
Also wenn du weitere Prüfungen machst, diese aber bei der Exception hinfällig werden solltest du die Exception weiter an den aufrufenden geben (Deklaration "throws Turnierexception") und hier prüfen.

Wenn die Exception ausgelöst ist, kannst du die weiteren Prüfungen entsprechend abändern.
 
Wenn Dir eine selbst definierte Exception bei der Fehlersuche dann später helfen wird, dann kannst Du das machen. Mir persönlich hat sowas nie geholfen und die SQLException sind von Hause her schon recht eindeutig.

Wann und wo Du die Exception ausgibst ist Geschmacksache. Dem Nutzer der Anwendung die Exception auf dem Bildschirm zu zeigen ist sinnfrei, zumindest ohne weiter Kommentare. Die Exception in ein log zu schreiben macht dagegen fast immer Sinn.
 
Also wenn es um eine Anwendung für den Produktionsbetrieb geht, sollte man entweder gar keine Exceptions produzieren (leichter gesagt als getan - ich weiß) oder man sollte vernünftige Fehlercodes definieren und die entsprechend loggen, etc.

Wenn es aber um private Anwendungen oder im Dev-Bereich einfach geht, dann kannst du ruhig die SQLException rauswerfen wie sie ist, da sie schon - wie bereits vor mir gesagt - sehr eindeutig ist und eigentlich die komplette Meldung vom MySQL Server enthält.
 

Zurück
Oben