گزارش خطا (error_reporting)
گاهی خطاها زیادند و صفحه شلوغ می شود. با «گزارش خطا (Error Reporting)» می گویی کدام خطاها نمایش داده شوند. تابع error_reporting() سطح خطا را برای همین اسکریپت تنظیم می کند.
تعریف ساده و کاربرد گزارش خطا
error_reporting() تعیین می کند کدام خطاها گزارش شوند. «سطح خطا (Error Level)» یعنی مجموعه ای از ثابت ها مانند E_ALL یا E_WARNING.
نحو (Syntax)
error_reporting(level);
level: اختیاری است. سطح گزارش خطا را تعیین می کند. استفاده از ثابت های نام دار پیشنهاد می شود.
مثال های کاربردی
در این مثال ها چند سطح متداول را می بینی. هر خط جداست و خوانا است.
<?php
// خاموش کردن گزارش خطا
error_reporting(0);
// گزارش خطاهای زمان اجرا
error_reporting(E_ERROR | E_WARNING | E_PARSE);
// گزارش همه خطاها
error_reporting(E_ALL);
// معادل خط بالا با ini_set
ini_set("error_reporting", E_ALL);
// همه به جز اخطارهای اطلاع رسانی
error_reporting(E_ALL & ~E_NOTICE);
?>
نکته: علامت | یعنی «یا بیتی» و سطوح را ترکیب می کند. علامت ~ یعنی «نقیض» و سطحی را حذف می کند.
رفتار و بازگشتی
اگر پارامتر ندهی، مقدار فعلی برگردانده می شود. در غیر این صورت، مقدار قبلی بازگردانده می شود. این کمک می کند مقدار قبلی را ذخیره و بعداً برگردانی.
گام های سریع تنظیم گزارش خطا
- سطح مناسب را انتخاب کن.
- با
error_reporting()آن را تنظیم کن. - در توسعه
E_ALLرا بگذار. - در تولید اخطارهای اضافی را حذف کن.
پیوندهای مفید
برای ثبت پیام ها، برو به ثبت خطا. برای دیدن جزئیات آخرین خطا، صفحه آخرین خطا را ببین. همچنین از همین صفحه مرجع W3Schools و لیست ثابت های خطا کمک بگیر. اگر لازم شد، خود گزارش خطا را دوباره مرور کن.
جمع بندی سریع
error_reporting()سطح خطا را تنظیم می کند.E_ALLبرای توسعه مناسب است.- با
~سطح ناخواسته را حذف کن. - پارامتر ندهی، مقدار فعلی برمی گردد.