Handling Database Exceptions
Database operations can fail for several reasons: a table may not exist, a column name may be misspelled, or the connection may drop. JDBC uses SQLException to capture these errors, providing details like error messages and SQL state codes.
The query in this exercise has an intentional typo (boks instead of books).
This exercise is part of the course
Querying a PostgreSQL Database in Java
Exercise instructions
- Catch the exception when the query fails.
- Print the error message and SQLState from the exception.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
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.____());
}
}
}