Manejo de errores en PHP
El control de los errores que pueden producirse en una aplicación es una tarea importante del desarrollo, que muchas veces se deja aparcada o a la que se le presta escasa atención. El controlar estas situaciones de forma correcta nos permitirá ofrecer a nuestros usuarios siempre una respuesta, incluso aunque haya sucedido algo que impida realizar su petición.
Claro está, estas respuestas irán desde un simple mensaje descriptivo del error, o puede incluir un manejo más complejo de la situación que intente resolver el problema por otros medios. Por ejemplo, en el caso de encontrar problemas con la conexión a la base de datos, podríamos mostrar al usuario un mensaje de servicio no disponible en vez del habitual mysql_connect error
que es habitual ver en muchos webs. Incluso podríamos intentar resolver la situación mediante la conexión a otro origen de datos, o utilizando información únicamente de caché,… hay múltiples opciones.
El control de errores es una técnica muy utilizada en los lenguejes orientados a objetos como Java, C++ o C#, debido a las construcciones try, catch, finally
que aceptan. Sin embargo en PHP no existe esta posibilidad, salvo en la versión 5.
PHP 4
En esta versión disponemos de varias funciones, entre las que destacan trigger_error y set_error_handler. La función trigger_error
genera un mensaje de error, warning o notice de usuario. Mediante la función set_error_handler
se permite cambiar el manejador de errores por defecto de PHP por el nuestro propio. De esta forma, creando nuestro propia función de respuesta ante errores, y generando errores cuando sea necesario con trigger_error, es posible crearnos un sencillo sistema de control de errores.
PHP 5
Esta versión del lenguaje viene con la posibilidad de utilizar bloques try/catch para el control de errores. Además nos permite también mediante la función set_exception_handler crear nuestro propia función de respuesta para aquellas situaciones en las que una excepción llegue al nivel principal de ejecución, sin haber sido capturada.
Hay un excelente artículo en Zend sobre el manejo de excepciones en PHP5, que explica en profundidad y con ejemplos cómo funcionan. Se inicia el artículo dando una descripción sobre el control de errores en PHP4, por lo que también es recomendable leer este artículo si se trabaja con esa versión de PHP.
Deberia existir un modulo para subir archivos de ejemplo por parte de cualquier usuario.. y dichos ejemplos si son funcionales dejarlos como ejemplos. por parte del administrador de eslomas.com
Hola fabian, si tienes alguna porción de código que estés interesado en publicar, prueba a escribirla directamente como comentario. Si no queda bien o es muy grande puedes enviármela a webmaster@eslomas.com y estaré encantado publicarla
Hola patxi el enlace al articulo que comentas parece no funcionar podrías indicar cual es? Gracias
Hola suoko, la url ya está corregida, es http://www.zend.com/php5/articles/php5-exceptions.php
el articulo del que hablan no esta disponible.
bastante pobre el articulo. Escribir esto y nada es lo mismo dada la cantidad de informacion mucho mas util que existe hoy dia en la red.
PD:critica constructiva, nada mas.
joseluis, el post es de 2005!!!!!