Yo estoy usando el ejemplo que trae el manual en una clase y en ningun momento entra en la funcion de gestion de errores.
En el constructor de la clase inicializo:
Código PHP:
error_reporting(E_USER_ERROR | E_USER_WARNING | E_USER_NOTICE);
// establecer el gestor de errores definido
$this->gestor_errores_anterior = set_error_handler("miGestorErrores");
Mi funcion de gestion de errores es:
Código PHP:
function miGestorErrores($num_err, $cadena_err, $archivo_err, $linea_err){
switch ($num_err) {
case E_USER_ERROR:
echo "<b>Mi ERROR</b> [$num_err] $cadena_err<br />\n";
echo " Error fatal en la linea $linea_err del archivo $archivo_err";
echo ", PHP " . PHP_VERSION . " (" . PHP_OS . ")<br />\n";
echo "Abortando...<br />\n";
exit(1);
break;
case E_USER_WARNING:
echo "<b>Mi ADVERTENCIA</b> [$num_err] $cadena_err<br />\n";
break;
case E_USER_NOTICE:
echo "<b>Mi NOTICIA</b> [$num_err] $cadena_err<br />\n";
break;
default:
echo "Tipo de error desconocido: [$num_err] $cadena_err<br />\n";
break;
}
}
y en una funcion de esta clase hago esto:
Código PHP:
if($noticia==null){
trigger_error("No existe la noticia",E_USER_ERROR);
}
Y en pantalla me sale (cuando provoco el error):
Fatal error: No existe la noticia in .....
Osea que no entra en la funcion. ¿Alguien me puede echar una mano?