Zacznij terazZacznij za darmo

Obsługa wyjątków bazy danych

Operacje na bazie danych mogą się nie powieść z różnych powodów: tabela może nie istnieć, nazwa kolumny może być błędnie napisana albo połączenie może zostać zerwane. JDBC używa SQLException do przechwytywania tych błędów – udostępnia szczegóły takie jak komunikaty o błędach oraz kody stanu SQL.

Zapytanie w tym ćwiczeniu zawiera celową literówkę (boks zamiast books).

To ćwiczenie jest częścią kursu

Zapytania do bazy danych PostgreSQL w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Przechwyć wyjątek, gdy zapytanie się nie powiedzie.
  • Wyświetl komunikat o błędzie i wartość SQLState z wyjątku.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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.____());
        }
    }
}
Edytuj i uruchom kod