مثال
یک تابع کنترل کننده خطای تعریف شده توسط کاربر را با set_error_handler() تنظیم کنید
تابع، و یک خطا (با trigger_error()):
// یک تابع کنترل کننده خطای تعریف شده توسط کاربر
تابع myErrorHandler($er
o، $errstr، $errfile، $errline) {
echo "خطای سفارشی: [$er
o] $errstr
";
echo "خطا در خط $errline در $errfile
";
// عملکرد کنترل کننده خطای تعریف شده توسط کاربر را تنظیم کنید
set_error_handler("myErrorHandler");
$test=2;
// خطای ماشه
if ($test>1) {
trigger_error("یک خطای سفارشی ایجاد شده است");
?>
این را خودتان امتحان کنید »
تعریف و استفاده
تابع set_error_handler() یک تابع کنترل کننده خطای تعریف شده توسط کاربر را تنظیم می کند.
توجه: در صورت استفاده از این تابع، کنترل کننده خطای استاندارد PHP کاملاً دور زده می شود.
و کنترل کننده خطای تعریف شده توسط کاربر باید اسکریپت را خاتمه دهد، در صورت لزوم die().
توجه: اگر قبل از اجرای اسکریپت خطاهایی رخ دهد، کنترل کننده خطای سفارشی نمی تواند استفاده شود زیرا در آن زمان ثبت نشده است.
نحو
set_error_handler(errorhandler, E_ALL | E_STRICT)
مقادیر پارامتر
| پارامتر | توضیح |
|---|---|
| Error Handler | لازم است. نام تابعی را که در خطاها اجرا می شود مشخص می کند |
| E_ALL|E_STRICT | اختیاری. مشخص می کند که خطای تعریف شده توسط کاربر در کدام سطح گزارش خطا نشان داده شود. پیش فرض "E_ALL" | است
جزئیات فنی
| مقدار بازگشتی: | رشته ای که حاوی کنترل کننده خطای تعریف شده قبلی است |
|---|---|
| نسخه PHP: | 4.0.1+ |
| تغییر PHP: | PHP 5.5: پارامتر errorhandler اکنون NULL را می پذیرد PHP 5.2: کنترل کننده خطا باید FALSE را برگرداند تا $php_errormsg | را پر کند.
مرجع خطای PHP