PHP set_error_handler() Function












مرجع خطای PHP



مثال


یک تابع کنترل کننده خطای تعریف شده توسط کاربر را با 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