PHP set_error_handler() funta
dake
ta'wararon dake set_error_handler() funta dake ta'wararon cecewa, kuma ta'wararon cecewa (ta'wararon trigger_error()):
<?php // dake ta'wararon baiyawa cecewa function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Ta'wararon cecewa:</b> [$errno] $errstr<br>"; echo " ta'wararon ba'wararon $errline bi $errfile<br>"; } // dake ta'wararon baiyawa cecewa set_error_handler("myErrorHandler"); $test=2; // خطا فعال if ($test>1) { trigger_error("یک خطای سفارشی فعال شده است"); } ?>
خروجی کد بالا مشابه این خواهد بود:
خطای سفارشی: [1024] یک خطای سفارشی فعال شده است خطا در خط 14 در C:\webfolder\test.php
تعریف و استفاده
فونکشن set_error_handler() برنامه خطاگیر کاربر تعریف شده را تنظیم میکند.
نکات:اگر از این کاربرد استفاده شود، برنامه خطاگیر استاندارد PHP فراخوانی نمیشود و اگر لازم باشد، برنامه خطاگیر کاربر تعریف شده از طریق die() اسکریپت را متوقف میکند.
نکات:اگر خطا قبل از اجرای اسکریپت رخ دهد (مثلاً در حالت بارگذاری فایل)، برنامه خطاگیر کاربر تعریف شده فراخوانی نمیشود زیرا در آن زمان ثبت نشده است.
قانوننویسی
set_error_handler(errorhandler,E_ALL|E_STRICT);
پارامترها | توضیح |
---|---|
errorhandler | ضروری. نام برنامه خطاگیر کاربر تعریف شده را تعیین میکند. |
E_ALL|E_STRICT | اختیاری. تعیین میکند که کدام سطح گزارش خطا کاربر تعریف شده نمایش داده شود. پیشفرض "E_ALL" است. |
جزئیات فنی
مقدار بازگشتی: | شبکه شامل برنامههای خطاگیر پیشبینی شده. |
---|---|
نسخه PHP: | 4.0.1+ |
日志 آپدیت PHP: |
PHP 5.5: پارامترها errorhandler حالا NULL پذیرفته میشود PHP 5.2: برنامههای خطاگیر باید FALSE را بازگردانند تا $php_errormsg نمایش داده شود. |