set_error_handler funksiyasi

set_error_handler funksiyasi foydalanuvchi tomonidan belgilangan xatolarni qayta ishlovchini o'rnatadi. Birinchi parametrda xatolik yuzaga kelganda chaqiriladigan callback-funksiya uzatiladi. Ikkinchi ixtiyoriy parametrda qayta ishlovchi tomonidan ushlab qolinadigan xatolik turlarini ko'rsatish mumkin.

Sintaksis

phpset_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);

Misol

Foydalanuvchi tomonidan belgilangan xatolarni qayta ishlovchining oddiy misoli:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Xatolik [$errno]: $errstr faylda $errfile qatorda $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Kodni bajarish natijasi:

phpXatolik [8]: Aniqlanmagan o'zgaruvchi: undefinedVar faylda /path/to/file.php qatorda 7

Misol

Faqat ma'lum turdagi xatolarni qayta ishlash:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Ogohlantirish ushlab qolindi: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Ogohlantirishni keltirib chiqaradi
?>

Kodni bajarish natijasi:

phpOgohlantirish ushlab qolindi: strpos() kamida 2 parametr kutmoqda, 0 berildi

Misol

Standart xatolarni qayta ishlovchiga qaytish:

php<?php
  set_error_handler(null); // Standart qayta ishlovchiga qaytish
?>