首頁 >Java >java教程 >JDBC中如何處理異常? JDBC中異常處理

JDBC中如何處理異常? JDBC中異常處理

青灯夜游
青灯夜游原創
2018-11-22 18:13:164149瀏覽

這篇文章帶給大家的內容是介紹JDBC如何處理異常? JDBC中異常處理。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

JDBC的例外處理與Java異常處理非常相似,但對於JDBC,我們將要處理的最常見的例外是java.sql.SQLException,它是JDBC異常的基本例外類別。

我們就以java.sql.SQLException異常來介紹JDBC是如何進行例外處理的。首先我們來看看java.sql.SQLException的相關知識:

SQLException方法

SQLException可以在驅動程式和資料庫中發生。發生此類異常時,SQLException類型的物件將傳遞給catch子句。

傳遞的SQLException物件具有以下可用於檢索有關異常的其他資訊的方法:

JDBC中如何處理異常? JDBC中異常處理

JDBC的例外處理

透過利用Exception物件提供的資訊,你可以捕捉異常並適當地繼續你的程式。這是try區塊的一般形式:

try {
   // 你的危险代码在这些大括号之间!!!!
   }catch(Exception ex) {
   // 你的异常处理代码介于这些代码之间。
   
   }finally {
   // 必须始终执行这些代码
   }

範例:

研究以下範例程式碼來了解try .... catch ... finally區塊的用法。

//步骤1:导入必需的软件包
import java.sql.*;

public class JDBCExample {
   // JDBC 驱动程序名称和数据库URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://localhost/EMP";

   //  数据库的凭证
   static final String USER = "username";
   static final String PASS = "password";
   
   public static void main(String[] args) {
   Connection conn = null;
   try{
      //步骤 2: 注册JDBC驱动程序
      Class.forName("com.mysql.jdbc.Driver");

      //步骤 3: 打开连接
      System.out.println("Connecting to database...");
      conn = DriverManager.getConnection(DB_URL,USER,PASS);

      //步骤 4: 执行查询
      System.out.println("Creating statement...");
      Statement stmt = conn.createStatement();
      String sql;
      sql = "SELECT id, first, last, age FROM Employees";
      ResultSet rs = stmt.executeQuery(sql);

      //步骤 5: 从结果集中提取数据
      while(rs.next()){
         //Retrieve by column name
         int id  = rs.getInt("id");
         int age = rs.getInt("age");
         String first = rs.getString("first");
         String last = rs.getString("last");

         //显示值
         System.out.print("ID: " + id);
         System.out.print(", Age: " + age);
         System.out.print(", First: " + first);
         System.out.println(", Last: " + last);
      }
      //步骤 6: Clean-up environment
      rs.close();
      stmt.close();
      conn.close();
   }catch(SQLException se){
      //处理JDBC错误
      se.printStackTrace();
   }catch(Exception e){
      //处理Class.forName的错误
      e.printStackTrace();
   }finally{
      //使用finally块,关闭连接
      try{
         if(conn!=null)
            conn.close();
      }catch(SQLException se){
         se.printStackTrace();
      }//end finally try
   }//end try
   System.out.println("Goodbye!");
}//end main
}//end JDBCExample

現在,讓我們編譯上面的例子如下:

JDBC中如何處理異常? JDBC中異常處理

#當執行JDBCExample時,如果沒有問題,它會產生以下結果,否則將捕獲相應的錯誤並顯示錯誤訊息

JDBC中如何處理異常? JDBC中異常處理

透過傳遞錯誤的資料庫名稱或錯誤的使用者名稱或密碼來嘗試上面的範例並檢查結果。

總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。

以上是JDBC中如何處理異常? JDBC中異常處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn