Worum es geht
Skript 09, Folien 16 bis 19: Fehlerbehandlung, „Ist das korrekt?“, korrekte Fehlerbehandlung, Verwendung von java.lang.AutoCloseable.
Bisher endete jedes Beispiel mit rs.close() und stmt.close(). Das klappt, solange kein Fehler passiert. Die Frage dieses Abschnitts: Wie sorgt man dafür, dass auch nach einem Fehler alles geschlossen wird?
Ein Fehler heißt in Java Exception. Er unterbricht den normalen Ablauf: Java springt aus der Methode heraus, bis ein catch ihn auffängt. Bei JDBC heißt er SQLException.
executeQuery, das Ergebnis ist ein ResultSet; am Ende werden beide geschlossen.So gehen wir vor:
- Warum offene Objekte schaden.
- Was am einfachen Code von Folie 17 falsch ist.
- Die Lösung mit finally (Folie 18).
- Die kurze Lösung mit try-with-resources (Folie 19).
- Eine Klausurfrage dazu.