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
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.____());
}
}
}