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()."
";
}