Fungsi set_error_handler

Fungsi set_error_handler menetapkan penangan kesalahan pengguna. Parameter pertama menerima fungsi callback yang akan dipanggil ketika kesalahan terjadi. Parameter kedua yang opsional dapat digunakan untuk menentukan jenis kesalahan yang harus ditangkap oleh penangan.

Sintaks

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

Contoh

Contoh sederhana penangan kesalahan kustom:

php<?php
  function customError($errno, $errstr, $errfile, $errline) {
    echo "Error [$errno]: $errstr in $errfile on line $errline";
  }
  
  set_error_handler("customError");
  
  echo $undefinedVar;
?>

Hasil eksekusi kode:

phpError [8]: Undefined variable: undefinedVar in /path/to/file.php on line 7

Contoh

Menangani hanya jenis kesalahan tertentu:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Warning captured: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Akan memicu peringatan
?>

Hasil eksekusi kode:

phpWarning captured: strpos() expects at least 2 parameters, 0 given

Contoh

Mengembalikan penangan kesalahan standar:

php<?php
  set_error_handler(null); // Kembali ke penangan standar
?>