×

Làm thế nào để xử lý lỗi và ngoại lệ trong ứng dụng sử dụng MySQL?

Xử lý lỗi và ngoại lệ là một phần quan trọng khi phát triển ứng dụng, đặc biệt là trong các ứng dụng tương tác với cơ sở dữ liệu như MySQL. Cách bạn xử lý lỗi phụ thuộc vào ngôn ngữ lập trình bạn sử dụng. Dưới đây là các ví dụ về cách xử lý lỗi và ngoại lệ trong PHP, Python, và Java khi làm việc với MySQL.

PHP

Sử dụng MySQLi

Khi sử dụng MySQLi, bạn có thể kiểm tra thuộc tính connect_error để xử lý lỗi kết nối và sử dụng error để xử lý lỗi truy vấn.

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Kết nối thất bại: " . $conn->connect_error);
}

$sql = "SELECT id FROM MyGuests";
if (!$conn->query($sql)) {
    echo "Lỗi truy vấn: " . $conn->error;
}

Sử dụng PDO

Với PDO, bạn sẽ sử dụng khối try-catch để xử lý ngoại lệ (Exception).

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    echo "Kết nối thất bại: " . $e->getMessage();
}

Python

Sử dụng thư viện mysql-connector-python, bạn sẽ bao quát các phần code tương tác với MySQL trong khối try-except để xử lý ngoại lệ.

import mysql.connector
from mysql.connector import Error

try:
    conn = mysql.connector.connect(host='localhost',
                                   database='mydatabase',
                                   user='user',
                                   password='password')
    if conn.is_connected():
        print('Connected to MySQL database')
except Error as e:
    print(e)
finally:
    if conn is not None and conn.is_connected():
        conn.close()

Java

Trong Java, bạn sẽ sử dụng try-catch để bắt và xử lý các ngoại lệ SQLException.

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

public class JDBCExample {
    public static void main(String[] args) {
        String jdbcURL = "jdbc:mysql://localhost:3306/mydatabase";
        String username = "user";
        String password = "password";

        try (Connection conn = DriverManager.getConnection(jdbcURL, username, password)) {
            System.out.println("Connected to the database.");
        } catch (SQLException e) {
            System.out.println("SQL Exception: " + e.getMessage());
        }
    }
}

Trong mỗi trường hợp, việc xử lý lỗi giúp bạn thông báo lỗi một cách rõ ràng cho người dùng hoặc ghi lại trong hệ thống log, giúp việc debug và bảo trì code dễ dàng hơn.

Comments