jairogarcíarincón

Errores y manejo de excepciones


2.51K

Errores

Un aspecto fundamental en cualquier desarrollo mediante programación es la gestión y seguimiento de los errores.

Desde el archivo php.ini, podemos configurar el nivel de las notificaciones que queremos que muestre nuestra página de modo que mientras estemos en desarrollo normalmente querremos que nos los muestre todos mientras que cuando estemos en producción normalmente no querremos que nos muestre ninguno para que el usuario no acceda a pantallas indeseadas o información sensible.

La lista completa de errores que podemos configurar en el archivo php.ini se puede consultar AQUÍ.

No obstante, en función de la configuración del servidor, es posible mostrar de forma temporal en nuestro código cualquier tipo de error de los citados anteriormente sin acceder al archivo php.ini mediante la sentencia:

error_reporting(E_ALL);



Excepciones

Para ayudarnos a analizar el código desde la versión 5 PHP permite gestionar las excepciones del código mediante una sentencia try catch.

Este tipo de sentencias utilizan la clase Exception y sus métodos getMessage para mostrar el mensaje de error y getCode para el código asociado a dicho error:


try {
if ($divisor == 0)
throw new Exception("División por cero.");
$resultado = $dividendo / $divisor;
}
catch (Exception $e) {
echo "Se ha producido el siguiente error: ".$e->getMessage();
}


Para el caso de PDO, es posible además utilizar esta clase Exception para mostrar los errores de PHP, tal y como demuestra el siguiente ejemplo:


$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$resultado = $db->query("SELECT * FROM persoma");
}
catch (PDOException $p) {
echo "Error ".$p->getMessage()."
";
}



Fuentes: Wikipedia, php.net y José Luís Comesaña.


Publicado el 09 de Diciembre de 2022

phpmysqlobjetos