Hàm set_error_handler() trong PHP
Ví dụ
Đặt hàm xử lý lỗi do người dùng xác định bằng hàm set_error_handler() và gây ra lỗi (với trigger_error()):
<?php
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
Hãy tự mình thử »Định nghĩa và cách sử dụng
Hàm set_error_handler() thiết lập hàm xử lý lỗi do người dùng xác định.
Lưu ý: Trình xử lý lỗi PHP tiêu chuẩn sẽ bị bỏ qua hoàn toàn nếu chức năng này được sử dụng và trình xử lý lỗi do người dùng xác định phải chấm dứt tập lệnh die(), nếu cần.
Lưu ý: Nếu xảy ra lỗi trước khi tập lệnh được thực thi thì không thể sử dụng trình xử lý lỗi tùy chỉnh vì nó chưa được đăng ký tại thời điểm đó.
Cú pháp
set_error_handler( errorhandler , E_ALL | E_STRICT)
Giá trị tham số
Parameter | Description |
---|---|
errorhandler | Required. Specifies the name of the function to be run at errors |
E_ALL|E_STRICT | Optional. Specifies on which error report level the user-defined error will be shown. Default is "E_ALL" |
Chi tiết kỹ thuật
Giá trị trả về: | Một chuỗi chứa trình xử lý lỗi được xác định trước đó |
---|---|
Phiên bản PHP: | 4.0.1+ |
Nhật ký thay đổi PHP: | PHP 5.5: Trình xử lý lỗi tham số hiện chấp nhận NULL PHP 5.2: Trình xử lý lỗi phải trả về FALSE để điền $php_errormsg |
Tham chiếu lỗi PHP