وظيفة PHP set_exception_handler()

مثال

تعيين وظيفة معالجة الاستثناء المحددة من قبل المستخدم:

<?php
// وظيفة معالجة الاستثناء المحددة من قبل المستخدم
 function myException($exception) {
     echo "<b>عثور براستجابة:</b> ", $exception->getMessage();
 }
 // پردازش‌دهنده خطای استثنا تعریف شده توسط کاربر تنظیم می‌شود
 set_exception_handler("myException");
// استثنا پرتاب می‌شود
throw new Exception("استثنا غیرقابل گرفتن رخ داد!");
 ?> 

خروجی کد بالا مشابه این خواهد بود:

Exception: استثنا غیرقابل گرفتن رخ داد!

تعریف و نحوه استفاده

فنکشن set_exception_handler() پردازش‌دهنده خطای استثنا تعریف شده توسط کاربر را تنظیم می‌کند.

اسکریپت پس از فراخوانی این پردازش‌دهنده خطا متوقف می‌شود.

نحوه استفاده

set_exception_handler(exceptionhandler);
پارامترها توضیح
exceptionhandler

ضروری. نام فنکشنی که باید در صورت بروز استثنا غیرقابل گرفتن، فراخوانی شود را تعیین می‌کند.

نکات:همچنین می‌توان یک مقدار NULL را برای بازپس‌گرداندن پردازش‌دهنده خطای استثنا به مقدار پیش‌فرض ارسال کرد.

جزئیات فنی

مقدار بازگشتی:

این فنکشن یک رشته شامل نام پردازش‌دهنده خطای قبلی تعریف شده را برمی‌گرداند، یا در صورت خطا NULL برمی‌گرداند.

اگر پردازش‌دهنده خطا قبلاً تعریف نشده باشد، NULL نیز برمی‌گرداند.

اگر پارامتر NULL استفاده شود، پردازش‌دهنده به حالت پیش‌فرض بازپس‌گردانده می‌شود و TRUE برمی‌گرداند.

نسخه PHP: 5.0+
گزارش به‌روزرسانی PHP:

PHP 7.0.0: به exception_handler نوع پارامتر از Exception به Throwable تغییر یافته است.

در PHP 5.5 و قبل از آن، اگر NULL ارسال شود، این فنکشن TRUE را برمی‌گرداند. از PHP 5.5 به بعد، پردازش قبلی را برمی‌گرداند.