Errores de activación en PHP 7

La función PHP trigger_error() proporciona una forma de activar un nivel de usuario
mensaje de error / advertencia / aviso. Se puede usar junto con el controlador de errores incorporado, o con un controlador de errores definido por el usuario, como vimos en la sección anterior.
La función trigger_error() acepta dos parámetros, según la siguiente descripción:

bool trigger_error (
string $error_msg
[, int $error_type = E_USER_NOTICE ]
)

El parámetro $error_msg tiene una limitación de 1024 bytes, mientras que $error_type está limitado a las constantes E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE y E_USER_DEPRECATED.
Echemos un vistazo al siguiente ejemplo:

<?php
set_error_handler(function ($errno, $errstr) {
echo 'Handler: ' . $errstr;
});
echo 'start';
trigger_error('E_USER_ERROR!', E_USER_ERROR);
trigger_error('E_USER_ERROR!', E_USER_WARNING);
trigger_error('E_USER_ERROR!', E_USER_NOTICE);
trigger_error('E_USER_ERROR!', E_USER_DEPRECATED);
echo 'end';

Aquí, tenemos cuatro llamadas diferentes a la función trigger_error(), cada una de las cuales acepta diferentes tipos de error. El controlador de errores personalizado se activa para los cuatro errores, y nuestro código continúa ejecutándose hasta el final para mostrar el final como salida.

Hay ciertas similitudes conceptuales entre el modelo de error (set_error_handler y trigger_error) en un lado y el modelo arrojable (intente … atrapar y lanzar nuevo …) en el otro. Aparentemente, ambos pueden atrapar y desencadenar errores. La principal diferencia es que el modelo arrojable es una forma más moderna y orientada a objetos. Dicho esto, debemos limitar nuestro uso de trigger_error() para cuando sea absolutamente necesario por algunas razones contextuales.

Comparte