• 技术文章 >Java >java教程

    JDBC中如何处理异常?JDBC中异常处理

    青灯夜游青灯夜游2018-11-23 10:43:55原创2269
    本篇文章给大家带来的内容是介绍JDBC中如何处理异常?JDBC中异常处理。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

    JDBC的异常处理与Java异常处理非常相似,但对于JDBC,我们将要处理的最常见的异常是java.sql.SQLException,它是JDBC异常的基本异常类。

    我们就以java.sql.SQLException异常来介绍JDBC是如何进行异常处理的。首先我们看看java.sql.SQLException的相关知识:

    SQLException方法

    SQLException可以在驱动程序和数据库中发生。发生此类异常时,SQLException类型的对象将传递给catch子句。

    传递的SQLException对象具有以下可用于检索有关异常的其他信息的方法:

    3.jpg

    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

    现在,让我们编译上面的例子如下:

    4.jpg

    当运行JDBCExample时,如果没有问题,它会产生以下结果,否则将捕获相应的错误并显示错误消息

    5.jpg

    通过传递错误的数据库名称或错误的用户名或密码来尝试上面的示例并检查结果。

    总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。

    以上就是JDBC中如何处理异常?JDBC中异常处理的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:JDBC 异常处理
    上一篇:jdbc如何连接数据库?连接数据库的步骤 下一篇:java中方法重写和方法重载是什么?有什么区别
    20期PHP线上班

    相关文章推荐

    精选22门好课,价值3725元,开通VIP免费学习!• 解析Node.js异常处理中domain模块的使用方法_node.js• JS中的异常处理方法分享_javascript技巧• 数据库技术-JDBC连接MySQL_MySQL• SpringMVC+JDBC:分页示例_MySQL
    1/1

    PHP中文网