ฟังก์ชัน set_error_handler
ฟังก์ชัน set_error_handler ตั้งค่าตัวจัดการข้อผิดพลาดของผู้ใช้
พารามิเตอร์แรกส่งผ่าน callback function ที่จะถูกเรียกเมื่อเกิดข้อผิดพลาด
พารามิเตอร์ที่สองซึ่งเป็นตัวเลือกสามารถระบุประเภทของข้อผิดพลาดที่ตัวจัดการควรดักจับได้
ไวยากรณ์
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
ตัวอย่าง
ตัวอย่างง่ายๆ ของตัวจัดการข้อผิดพลาดของผู้ใช้:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Error [$errno]: $errstr in $errfile on line $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
ผลลัพธ์ของการรันโค้ด:
Error [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7
ตัวอย่าง
จัดการเฉพาะข้อผิดพลาดประเภทที่กำหนด:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Warning captured: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // จะทำให้เกิดคำเตือน
?>
ผลลัพธ์ของการรันโค้ด:
Warning captured: strpos() expects at least 2 parameters, 0 given
ตัวอย่าง
การกลับไปใช้ตัวจัดการข้อผิดพลาดมาตรฐาน:
<?php
set_error_handler(null); // กลับไปใช้ตัวจัดการมาตรฐาน
?>