Fungsi set_error_handler

Fungsi set_error_handler menetapkan pengendali ralat pengguna. Parameter pertama menerima fungsi panggil balik yang akan dipanggil apabila berlakunya ralat. Parameter kedua pilihan boleh digunakan untuk menentukan jenis ralat yang perlu ditangkap oleh pengendali.

Sintaks

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

Contoh

Contoh mudah pengendali ralat pengguna:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Ralat [$errno]: $errstr dalam $errfile pada baris $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Hasil pelaksanaan kod:

phpRalat [8]: Undefined variable: undefinedVar dalam /path/to/file.php pada baris 7

Contoh

Mengendalikan hanya jenis ralat tertentu:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Amaran ditangkap: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Akan menyebabkan amaran
?>

Hasil pelaksanaan kod:

phpAmaran ditangkap: strpos() expects at least 2 parameters, 0 given

Contoh

Mengembalikan pengendali ralat piawai:

php<?php
  set_error_handler(null); // Kembali ke pengendali piawai
?>