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);
?>
