Skip to main content

Catch an SQL exception with the error code ORA-00942 in Java

Để bắt ngoại lệ SQL bằng mã lỗi ORA-00942 trong Java, bạn có thể sử dụng lớp SQLException cùng với cách xử lý ngoại lệ dành riêng cho Oracle. Lỗi ORA-00942 chỉ ra rằng bảng hoặc dạng xem bạn đang cố truy cập không tồn tại hoặc bạn không có các quyền cần thiết để truy cập vào nó.

Đây là ví dụ xử lý ngoại lệ cụ thể này trong Java:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class OracleSQLExceptionExample {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        
        try {
            // Initialize the database connection
            connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:yourdb", "username", "password");
            statement = connection.createStatement();
            
            // Attempt to execute an SQL statement that may cause ORA-00942
            // Replace "YourTable" with the actual table name you are trying to access
            String sql = "SELECT * FROM YourTable";
            statement.executeQuery(sql);
        } catch (SQLException e) {
            if (e.getErrorCode() == 942) {
                // ORA-00942: Table or view does not exist
                System.out.println("Caught ORA-00942: Table or view does not exist");
                // You can handle this exception here or log it as needed.
            } else {
                // Handle other SQL exceptions
                e.printStackTrace();
            }
        } finally {
            try {
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}