Database-exceptions afhandelen
Databasebewerkingen kunnen om verschillende redenen mislukken: een tabel bestaat misschien niet, een kolomnaam is mogelijk verkeerd gespeld, of de verbinding kan wegvallen. JDBC gebruikt SQLException om deze fouten vast te leggen, met details zoals foutmeldingen en SQL-statecodes.
De query in deze oefening bevat opzettelijk een typefout (boks in plaats van books).
Deze oefening maakt deel uit van de cursus
Query's uitvoeren op een PostgreSQL-database in Java
Oefeninstructies
- Vang de exception op wanneer de query faalt.
- Print de foutmelding en SQLState uit de exception.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
public class Main {
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection(Credentials.URL, Credentials.USER, Credentials.PASSWORD);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM boks")) {
while (rs.next()) {
System.out.println(rs.getString("title"));
System.out.println(rs.getInt("publication_year"));
}
// Catch database exceptions
} catch (____ e) {
// Print the error message and SQLState
System.out.println("Error: " + e.____());
System.out.println("SQLState: " + e.____());
}
}
}