Функión set_error_handler
La función set_error_handler establece un manejador de errores personalizado.
En el primer parámetro se pasa una función callback que se llamará cuando ocurra un error.
Con el segundo parámetro opcional se pueden especificar los tipos de error que debe capturar el manejador.
Sintaxis
set_error_handler(callable $error_handler, int $error_types = E_ALL | E_STRICT);
Ejemplo
Un ejemplo simple de un manejador de errores personalizado:
<?php
function customError($errno, $errstr, $errfile, $errline) {
echo "Error [$errno]: $errstr en $errfile en la línea $errline";
}
set_error_handler("customError");
echo $undefinedVar;
?>
Resultado de la ejecución del código:
Error [8]: Undefined variable: undefinedVar en /path/to/file.php en la línea 7
Ejemplo
Manejo solo de tipos específicos de errores:
<?php
function warningHandler($errno, $errstr) {
if ($errno === E_WARNING) {
echo "Advertencia capturada: $errstr";
}
}
set_error_handler("warningHandler", E_WARNING);
strpos(); // Generará una advertencia
?>
Resultado de la ejecución del código:
Advertencia capturada: strpos() expects at least 2 parameters, 0 given
Ejemplo
Restauración del manejador de errores estándar:
<?php
set_error_handler(null); // Restauración al manejador estándar
?>