小編給大家分享一下JDBC中處理異常的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供烏蘭察布網(wǎng)站建設(shè)、烏蘭察布做網(wǎng)站、烏蘭察布網(wǎng)站設(shè)計(jì)、烏蘭察布網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、烏蘭察布企業(yè)網(wǎng)站模板建站服務(wù),十年烏蘭察布做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
JDBC的異常處理與Java異常處理非常相似,但對(duì)于JDBC,我們將要處理的最常見(jiàn)的異常是java.sql.SQLException,它是JDBC異常的基本異常類(lèi)。
我們就以java.sql.SQLException異常來(lái)介紹JDBC是如何進(jìn)行異常處理的。首先我們看看java.sql.SQLException的相關(guān)知識(shí):
SQLException方法
SQLException可以在驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)中發(fā)生。發(fā)生此類(lèi)異常時(shí),SQLException類(lèi)型的對(duì)象將傳遞給catch子句。
傳遞的SQLException對(duì)象具有以下可用于檢索有關(guān)異常的其他信息的方法:
JDBC的異常處理
通過(guò)利用Exception對(duì)象提供的信息,你可以捕獲異常并適當(dāng)?shù)乩^續(xù)你的程序。這是try塊的一般形式:
try { // 你的危險(xiǎn)代碼在這些大括號(hào)之間!!!! }catch(Exception ex) { // 你的異常處理代碼介于這些代碼之間。 }finally { // 必須始終執(zhí)行這些代碼 }
示例:
研究以下示例代碼來(lái)了解try .... catch ... finally塊的用法。
//步驟1:導(dǎo)入必需的軟件包 import java.sql.*; public class JDBCExample { // JDBC 驅(qū)動(dòng)程序名稱(chēng)和數(shù)據(jù)庫(kù)URL static final String JDBC_DRIVER = "com.MySQL.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // 數(shù)據(jù)庫(kù)的憑證 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; try{ //步驟 2: 注冊(cè)JDBC驅(qū)動(dòng)程序 Class.forName("com.mysql.jdbc.Driver"); //步驟 3: 打開(kāi)連接 System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); //步驟 4: 執(zhí)行查詢(xún) 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: 從結(jié)果集中提取數(shù)據(jù) 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錯(cuò)誤 se.printStackTrace(); }catch(Exception e){ //處理Class.forName的錯(cuò)誤 e.printStackTrace(); }finally{ //使用finally塊,關(guān)閉連接 try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); }//end finally try }//end try System.out.println("Goodbye!"); }//end main }//end JDBCExample
現(xiàn)在,讓我們編譯上面的例子如下:
當(dāng)運(yùn)行JDBCExample時(shí),如果沒(méi)有問(wèn)題,它會(huì)產(chǎn)生以下結(jié)果,否則將捕獲相應(yīng)的錯(cuò)誤并顯示錯(cuò)誤消息
通過(guò)傳遞錯(cuò)誤的數(shù)據(jù)庫(kù)名稱(chēng)或錯(cuò)誤的用戶名或密碼來(lái)嘗試上面的示例并檢查結(jié)果。
以上是JDBC中處理異常的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:JDBC中處理異常的方法
轉(zhuǎn)載來(lái)源:http://chinadenli.net/article8/gojdop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、動(dòng)態(tài)網(wǎng)站、網(wǎng)站排名、微信公眾號(hào)、商城網(wǎng)站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)