Home | Clases | Bases de datos en PHP | Errores y manejo de excepciones

Errores y manejo de excepciones


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, sin acceder al archivo php.ini es posible mostrar de forma temporal en nuestro código cualquier tipo de error de los citados anteriormente 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.

Fecha de publicación: 26/12/2017
Asignaturas: desarrollo web en entorno servidor
Temas: php mysql objetos
Utilizamos cookies propias y de terceros para mejorar su experiencia en la navegación. Al seguir navegando entendemos que acepta su uso.
Si lo desea, consulte nuestras políticas de privacidad y cookies
ENTENDIDO
[X] Cerrar

Contacta conmigo


[X] Cerrar

Acceso alumnos