Funzione set_error_handler

La funzione set_error_handler imposta un gestore di errori personalizzato. Il primo parametro è una funzione callback che verrà chiamata quando si verifica un errore. Il secondo parametro opzionale può specificare i tipi di errori che il gestore deve intercettare.

Sintassi

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

Esempio

Un semplice esempio di gestore di errori personalizzato:

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

Risultato dell'esecuzione del codice:

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

Esempio

Gestione solo di tipi specifici di errori:

php<?php
  function warningHandler($errno, $errstr) {
    if ($errno === E_WARNING) {
      echo "Warning catturato: $errstr";
    }
  }
  
  set_error_handler("warningHandler", E_WARNING);
  
  strpos(); // Genererà un warning
?>

Risultato dell'esecuzione del codice:

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

Esempio

Ripristino del gestore di errori predefinito:

php<?php
  set_error_handler(null); // Ripristina il gestore predefinito
?>