Giới thiệu
Lớp Exception của PHP triển khai Có thể ném giao diện. ErrorException lớp mở rộng Ngoại lệ lớp. ErrorException có nghĩa là được ném ra một cách rõ ràng khi bạn muốn bắt và xử lý các lỗi mà nếu không sẽ bị bỏ qua, chẳng hạn như Thông báo hoặc Cảnh báo.
Lõi PHP bao gồm các hằng số lỗi được xác định trước sau đây
Giá trị | Không đổi | Mô tả |
---|---|---|
1 | E_ERROR | Lỗi thời gian chạy nghiêm trọng. |
2 | E_WARNING | Cảnh báo thời gian chạy (lỗi không nghiêm trọng). |
4 | E_PARSE | Lỗi phân tích cú pháp thời gian biên dịch. |
8 | E_NOTICE | Thông báo thời gian chạy. |
16 | E_CORE_ERROR | Các lỗi nghiêm trọng xảy ra trong quá trình khởi động ban đầu của PHP. |
32 | E_CORE_WARNING | Cảnh báo (lỗi không nghiêm trọng) xảy ra trong quá trình khởi động ban đầu của PHP. |
64 | E_COMPILE_ERROR | Lỗi thời gian biên dịch nghiêm trọng. |
128 | E_COMPILE_WARNING | Cảnh báo thời gian biên dịch (lỗi không nghiêm trọng). |
256 | E_USER_ERROR | Thông báo lỗi do người dùng tạo. |
512 | E_USER_WARNING | Thông báo cảnh báo do người dùng tạo. |
1024 | E_USER_NOTICE | Thông báo thông báo do người dùng tạo. |
2048 | E_STRICT | If Enabled PHP đề xuất các thay đổi đối với mã của bạn để đảm bảo khả năng tương tác và khả năng tương thích chuyển tiếp của mã của bạn. |
4096 | E_RECOVERABLE_ERROR | Lỗi nghiêm trọng có thể bắt được. |
8192 | E_DEPRECATED | Thông báo thời gian chạy. |
16384 | E_USER_DEPRECATED | Thông báo cảnh báo do người dùng tạo. |
32767 | E_ALL | Tất cả các lỗi và cảnh báo, E_STRICT |
Ngoài các thuộc tính và phương thức được kế thừa từ lớp Exception, lớp ErrorException giới thiệu một thuộc tính và một phương thức như sau -
protected int severity ; final public getSeverity ( void ) : int
Mức độ nghiêm trọng của ngoại lệ được biểu thị bằng số nguyên liên quan đến loại lỗi trong bảng trên
Ví dụ về ErrorException
Trong tập lệnh sau, một hàm do người dùng xác định errhandler được đặt làm Trình xử lý lỗi với set_error_handler () hàm số. Nó ném ErrorException khi gặp phải lỗi nghiêm trọng trong trường hợp không tìm thấy tệp để đọc.
Ví dụ
<?php function errhandler($severity, $message, $file, $line) { if (!(error_reporting() & $severity)) { echo "no error"; return; } throw new ErrorException("Fatal Error:No such file or directory", 0, E_ERROR); } set_error_handler("errhandler"); /* Trigger exception */ try{ $data=file_get_contents("nofile.php"); echo $data; } catch (ErrorException $e){ echo $e->getMessage(); } ?>
Ví dụ trên hiển thị kết quả sau
Đầu ra
Fatal Error:No such file or directory