تنظیم هندلر استثنا (set_exception_handler)
گاهی برنامه خطاهای «غیرقابل گرفتن» می دهد. با «هندلر استثنا (Exception Handler)» می توانی پیام خطا را خودت نمایش دهی. تابع set_exception_handler() همین مسئولیت را می گیرد و کنترل را به تو می دهد.
تعریف و کاربرد
set_exception_handler() یک تابعِ «هندلر استثنا» ثبت می کند. وقتی استثنایی گرفته نشود، این تابع اجرا می شود و سپس اجرای اسکریپت متوقف می شود.
نحو (Syntax)
set_exception_handler(exceptionhandler);
مثال عملی سریع
یک هندلر می سازیم. سپس یک استثنا پرت می کنیم تا رفتار سفارشی را ببینیم.
<?php
// تابع هندلر استثنا: پیام خطا را چاپ می کند
function myException($exception) {
echo "<b>Exception:</b> " . $exception->getMessage();
}
// ثبت هندلر استثنا
set_exception_handler("myException");
// پرتاب استثنا برای آزمایش
throw new Exception("Uncaught exception occurred!");
?>
گام های انجام کار
- تابع هندلر استثنا را بنویس.
- با
set_exception_handler()آن را ثبت کن. - با یک
Exceptionرفتار را آزمایش کن.
نکات فنی و نسخه
- خروجی: نام هندلر قبلی یا
NULLدر نبود قبلی. - نسخه PHP: 5.0+.
- از PHP 5.5، ارسال
NULLهندلر قبلی را برمی گرداند.
پیوندهای مرتبط
نکته: برای بازگشت به قبلی از بازگردانی هندلر استثنا استفاده کن. اگر با خطاها هم کار داری، صفحه تنظیم هندلر خطا را ببین. همچنین مرجع W3Schools: set_exception_handler و W3Schools: Error Reference را بررسی کن. برای پیمایش داخلی، روی هندلر استثنا هم کلیک کن.
جمع بندی سریع
- «هندلر استثنا» پیام ها را سفارشی می کند.
- پس از اجرا، اسکریپت متوقف می شود.
- می توانی بعداً هندلر قبلی را برگردانی.
- همیشه با یک استثنا آزمایش کن.