始める無料で始める

データベース例外の処理

データベース操作はさまざまな理由で失敗することがあります。テーブルが存在しない、カラム名にスペルミスがある、接続が切断されるなどが代表的な例です。JDBC では SQLException を使ってこれらのエラーを捕捉し、エラーメッセージや SQL 状態コードといった詳細情報を取得できます。

この演習のクエリには、意図的なタイポが含まれています(books ではなく boks と記述されています)。

この演習はコースの一部です

Java で PostgreSQL データベースにクエリを実行する

コースを見る

演習の手順

  • クエリが失敗したときに例外を捕捉してください。
  • 例外からエラーメッセージと SQLState を出力してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

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.____());
        }
    }
}
コードを編集して実行