یوشا

دست نوشته ها و تجربیات شخصی

یوشا

دست نوشته ها و تجربیات شخصی

شهید دکتر مصطفی چمران: می گویند تقوا از تخصص لازمتر است، آنرا می پذیرم، اما می گویم آنکس که تخصص ندارد و کاری را می پذیرد بی تقواست!

طبقه بندی موضوعی

۱ مطلب با کلمه‌ی کلیدی «خطا زدایی» ثبت شده است

۲۲
بهمن

 

نکاتی راجب error_reporting و set_error_handler و register_shutdown_function:

 

  • دستور error_reporting

برخلاف تصور خیلی ها که فکر می کنند این دستور خطاها رو "نمایش" میده، این دستور موتور دریافت خطاها هستش. (نه حتی Log کردن خطا)

  • دستور set_error_handler

میشه گفت دستوری برای ثبت تابع customize کننده رفتار خطا هستش (مثلاً برای کادر بندی متون خطا، ایمیل کردن خطا، دادن راه حل به کاربر و...)

  • دستور register_shutdown_function

دستوری برای ثبت تابع callback هستش که هنگام متوقف شدن و پایان یافتن پردازش اسکریپت، اون تابع callback اجرا بشه (همچنین زمانی که exit / die صدا زده میشه)
اصول نامگذاری: onScriptShutdown یا onScriptEnd یا onShutdown....
نکته: توسط این دستور میشه خطاهای نوع E_ERROR , E_PARSE , E_CORE_ERROR , E_COMPILE_ERROR رو هم جذب کرد

 

 

  • دستور ini_set('display_errors', TRUE);

دستوری برای نمایش خطا هستش. اگر دستور error_reporting خاموش باشه این دستور هم کار نمی کنه. اگر دستور error_reporting روشن باشه ولی این دستور false باشه، اسکریپت کماکان خطاها رو دریافت می کنه اما نمایش نمیده.

  • دستور ini_set('log_errors', TRUE);

دستوری برای ذخیره خطا در فایل هستش. اگر دستور error_reporting خاموش باشه این دستور هم کار نمی کنه. اگر دستور error_reporting روشن باشه ولی این دستور false باشه، اسکریپت کماکان خطاها رو دریافت می کنه اما ذخیره نمی کنه.

 

بنابراین برای محیط development همگی باید فعال و true باشن و برای محیط production(سرور واقعی یا تحویل به مشتری) همه باید فعال و true باشن بجز دستور display_errors!

  • یوشا آل ایوب