Xử lý ngoại lệ cơ sở dữ liệu
Các thao tác với cơ sở dữ liệu có thể thất bại vì nhiều lý do: bảng có thể không tồn tại, tên cột bị gõ sai, hoặc kết nối bị ngắt. JDBC dùng SQLException để ghi nhận các lỗi này, kèm theo chi tiết như thông báo lỗi và mã trạng thái SQL.
Truy vấn trong bài tập này cố ý có lỗi chính tả (boks thay vì books).
Bài tập này là một phần của khóa học
Truy vấn cơ sở dữ liệu PostgreSQL trong Java
Hướng dẫn bài tập
- Bắt ngoại lệ khi truy vấn thất bại.
- In ra thông báo lỗi và SQLState từ ngoại lệ.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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.____());
}
}
}