Kom igångKom igång gratis

Hantera databasundantag

Databasoperationer kan misslyckas av flera skäl: en tabell kanske inte finns, ett kolumnnamn kan vara felstavat eller anslutningen kan brytas. JDBC använder SQLException för att fånga dessa fel och ger information som felmeddelanden och SQL-statuskoder.

Frågan i den här övningen innehåller ett avsiktligt stavfel (boks i stället för books).

Den här övningen är en del av kursen

Fråga en PostgreSQL-databas i Java

Visa kurs

Övningsinstruktioner

  • Fånga undantaget när frågan misslyckas.
  • Skriv ut felmeddelandet och SQLState från undantaget.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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.____());
        }
    }
}
Redigera och kör kod