Trong PHP, lớp Exception cung cấp một cơ chế xử lý lỗi rất mạnh mẽ. Dưới đây là một số hàm (phương thức) quan trọng của lớp Exception mà bạn nên biết:

1. __construct($message, $code = 0, Exception $previous = null)

  • Mô tả: Phương thức khởi tạo của lớp Exception. Bạn có thể truyền vào thông điệp lỗi, mã lỗi, và một đối tượng Exception trước đó để tạo thành một chuỗi lỗi.
  • Tham số:
    • $message: Chuỗi mô tả lỗi.
    • $code: Mã lỗi (mặc định là 0).
    • $previous: Đối tượng Exception trước đó (mặc định là null).

2. getMessage()

  • Mô tả: Trả về thông điệp lỗi mà bạn đã cung cấp khi khởi tạo đối tượng Exception.
  • Trả về: Chuỗi chứa thông điệp lỗi.

3. getCode()

  • Mô tả: Trả về mã lỗi đã được cung cấp khi khởi tạo đối tượng Exception.
  • Trả về: Một số nguyên chứa mã lỗi.

4. getFile()

  • Mô tả: Trả về tên tệp mà nơi xảy ra lỗi.
  • Trả về: Chuỗi chứa tên tệp.

5. getLine()

  • Mô tả: Trả về số dòng nơi xảy ra lỗi trong tệp.
  • Trả về: Một số nguyên chứa số dòng.

6. getTrace()

  • Mô tả: Trả về một mảng chứa thông tin về stack trace tại thời điểm lỗi xảy ra.
  • Trả về: Mảng chứa thông tin stack trace.

7. getTraceAsString()

  • Mô tả: Trả về một chuỗi mô tả stack trace tại thời điểm lỗi xảy ra.
  • Trả về: Chuỗi chứa mô tả stack trace.

8. __toString()

  • Mô tả: Chuyển đổi đối tượng Exception thành chuỗi. Phương thức này sẽ được gọi khi bạn sử dụng echo hoặc print đối với đối tượng Exception.
  • Trả về: Chuỗi mô tả lỗi bao gồm thông điệp, mã, tên tệp, và số dòng.

9. Previous

  • Mô tả: Nếu bạn đã truyền vào một đối tượng Exception trước đó trong hàm khởi tạo, bạn có thể lấy thông tin của nó.
  • Trả về: Đối tượng Exception trước đó.

Ví dụ sử dụng lớp Exception

Dưới đây là một ví dụ đơn giản về cách sử dụng lớp Exception trong PHP:

try {
    // Gây ra lỗi
    throw new Exception("Đây là thông điệp lỗi.", 1);
} catch (Exception $e) {
    // Bắt và xử lý lỗi
    echo "Thông điệp lỗi: " . $e->getMessage() . "n"; // In ra thông điệp lỗi
    echo "Mã lỗi: " . $e->getCode() . "n";           // In ra mã lỗi
    echo "Tệp: " . $e->getFile() . "n";              // In ra tệp
    echo "Dòng: " . $e->getLine() . "n";              // In ra số dòng
    echo "Stack trace:n" . $e->getTraceAsString();    // In ra stack trace
}

Kết luận

Lớp Exception trong PHP cung cấp một loạt các phương thức hữu ích để xử lý lỗi một cách hiệu quả và giúp bạn lấy thông tin chi tiết về các lỗi xảy ra trong ứng dụng của mình. Bằng cách sử dụng các phương thức này, bạn có thể dễ dàng gỡ lỗi và cải thiện chất lượng mã của mình.