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