5- PHP متقدم – شرح دوال الخاصة بالتعامل مع الأخطاء Error Functions

PHP Error Functions شرح دوال الخاصة بالتعامل مع الأخطاء

======================

توفر PHP مجموعة من الدوال الخاصة بالتعامل مع [شركة برمجة مصرية] الأخطاء، تسجيلها والتحكم فيها.

debug_backtrace()
——————
ترجع مصفوفة تمثل تسلسل الاستدعاءات.


<?php
function test() {
  print_r(debug_backtrace());
}
test();
?>

debug_print_backtrace()
————————-
تطبع تسلسل الاستدعاءات.


<?php
function test() {
  debug_print_backtrace();
}
test();
?>

error_get_last()
—————–
ترجع آخر خطأ حدث.


<?php
@strpos();
print_r(error_get_last());
?>

error_log()
————
تسجل رسالة في سجل الأخطاء أو في ملف خارجي.


<?php
error_log("خطأ مخصص", 3, "errors.log");
?>

error_reporting()
——————
تحدد مستوى الأخطاء التي سيتم عرضها أو ترجع القيمة الحالية.


<?php
error_reporting(E_ALL);
echo $undefined; // يتم عرض تحذير
?>

restore_error_handler()
————————
تعيد معالج الأخطاء الافتراضي.


<?php
function myErrorHandler($errno, $errstr) {
  echo "تم اعتراض الخطأ: $errstr";
}
set_error_handler("myErrorHandler");
restore_error_handler();
echo 5 / 0;
?>

restore_exception_handler()
—————————-
تعيد معالج الاستثناءات الافتراضي.


<?php
function customException($e) {
  echo "استثناء: " . $e->getMessage();
}
set_exception_handler("customException");
restore_exception_handler();
throw new Exception("خطأ");
?>

set_error_handler()
——————– [شركة برمجة مصرية]
تحدد دالة مخصصة لمعالجة الأخطاء.


<?php
function myErrorHandler($errno, $errstr) {
  echo "تم اكتشاف خطأ: [$errno] $errstr
"; } set_error_handler("myErrorHandler"); echo 10 / 0; ?>

set_exception_handler()
————————
تحدد دالة مخصصة لمعالجة الاستثناءات.


<?php
function myExceptionHandler($e) {
  echo "استثناء مخصص: " . $e->getMessage();
}
set_exception_handler("myExceptionHandler");
throw new Exception("حدث خطأ!");
?>

trigger_error()
—————-
تُطلق خطأ مخصص يدويًا.


<?php
trigger_error("رسالة خطأ مخصصة", E_USER_WARNING);
?>