>  기사  >  Java  >  JDBC에서 예외를 처리하는 방법은 무엇입니까? JDBC의 예외 처리

JDBC에서 예외를 처리하는 방법은 무엇입니까? JDBC의 예외 처리

青灯夜游
青灯夜游원래의
2018-11-22 18:13:164131검색

이 글의 내용은 JDBC에서 예외를 처리하는 방법을 소개하는 것인가요? JDBC의 예외 처리. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

JDBC의 예외 처리는 Java 예외 처리와 매우 유사하지만 JDBC의 경우 가장 일반적으로 처리할 예외는 JDBC 예외의 기본 예외 클래스인 java.sql.SQLException입니다.

JDBC에서 예외를 처리하는 방법을 소개하기 위해 java.sql.SQLException 예외를 사용하겠습니다. 먼저 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으로 문의하세요.