set_error_handler Fonksiyonu

set_error_handler fonksiyonu, kullanıcı tanımlı bir hata işleyici kurar. İlk parametre olarak, bir hata oluştuğunda çağrılacak callback fonksiyonu iletilir. İsteğe bağlı ikinci parametre ile, işleyicinin yakalaması gereken hata türleri belirtilebilir.

Sözdizimi

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

Örnek

Basit bir özel hata işleyici örneği:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Hata [$errno]: $errstr, $errfile dosyasında $errline satırında";
  }
  
  set_error_handler("customError");
  
  echo $tanimsizDegisken;
?>

Kodun çalıştırılma sonucu:

phpHata [8]: Tanımlanmamış değişken: tanimsizDegisken, /path/to/file.php dosyasında 7 satırında

Örnek

Sadece belirli hata türlerini işleme:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Yakalanan uyarı: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Uyarıya neden olacak
?>

Kodun çalıştırılma sonucu:

phpYakalanan uyarı: strpos() en az 2 parametre bekliyor, 0 verildi

Örnek

Varsayılan hata işleyiciye dönüş:

php<?php
  set_error_handler(null); // Varsayılan işleyiciye dönüş
?>