دالة set_error_handler() في PHP
مثال
من خلال دالة set_error_handler() يتم تعيين برنامج معالجة الأخطاء المخصص، ثم يتم إطلاق الخطأ (من خلال دالة trigger_error()):
<?php // 用户定义的错误处理函数 function myErrorHandler($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br>"; echo " Error on line $errline in $errfile<br>"; } // 设置用户定义的错误处理函数 set_error_handler("myErrorHandler"); $test=2; // إطلاق خطأ if ($test>1) { trigger_error("A custom error has been triggered"); } ?>
يبدو مخرج الكود أعلاه مثل هذا:
خطأ مخصص: [1024] تم إطلاق خطأ مخصص خطأ في السطر 14 في C:\webfolder\test.php
التعريف والاستخدام
تحدد وظيفة set_error_handler() معالج الأخطاء المخصص.
التعليقات:إذا تم استخدام هذه الوظيفة، فإنها تتجنب معالج الأخطاء القياسي لـ PHP، وستقوم بإنهاء سكربت عبر die() إذا لزم الأمر.
التعليقات:التعليقات: إذا حدث خطأ قبل تنفيذ سكربت (مثل عند تحميل الملف)، لن يتم استدعاء معالج الأخطاء المخصص لأنه لم يتم تسجيله في ذلك الوقت.
الجملة
set_error_handler(معالج الأخطاء,E_ALL|E_STRICT);
المعلمات | الوصف |
---|---|
معالج الأخطاء | مطلوب. يحدد اسم وظيفة معالج الأخطاء المحدد مسبقًا. |
E_ALL|E_STRICT | اختياري. يحدد مستوى التقارير الإخبارية التي يتم عرضها من خلال الأخطاء المحددة مسبقًا. القيمة الافتراضية هي "E_ALL". |
تفاصيل تقنية
القيمة الم返回ة: | يحتوي على سلسلة من المعالجين الإخباريين المحدد مسبقًا. |
---|---|
إصدار PHP: | 4.0.1+ |
سجل تحديثات PHP: |
PHP 5.5: المعلمات معالج الأخطاء يُقبل الآن NULL PHP 5.2: يجب أن يعود المعالج الإخباري FALSE لتظهر $php_errormsg. |