Funksie set_error_handler

Die funksie set_error_handler stel 'n persoonlike fouthanterder in. In die eerste parameter word 'n callback-funksie oorgedra, wat geroep sal word wanneer 'n fout voorkom. Met die tweede opsionele parameter kan jy die tipe foute spesifiseer wat die hanterder moet vang.

Sintaksis

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

Voorbeeld

'n Eenvoudige voorbeeld van 'n persoonlike fouthanterder:

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

Resultaat van die kode-uitvoering:

phpFout [8]: Ongedefinieerde veranderlike: undefinedVar in /path/to/file.php op lyn 7

Voorbeeld

Verwerking van slegs sekere tipes foute:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Waarskuwing gevang: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Sal 'n waarskuwing veroorsaak
?>

Resultaat van die kode-uitvoering:

phpWaarskuwing gevang: strpos() verwag ten minste 2 parameters, 0 gegee

Voorbeeld

Terugkeer na die standaard fouthanterder:

php<?php
  set_error_handler(null); // Terugkeer na die standaard hanterder
?>