Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Vang de exception op wanneer de query faalt.
  • Print de foutmelding en SQLState uit de exception.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan 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.____());
        }
    }
}
Code bewerken en uitvoeren