Foros del Web » Programando para Internet » PHP »

Manejo de Errores

Estas en el tema de Manejo de Errores en el foro de PHP en Foros del Web. Hola a todos los del foro, estoy pensando en crear una clase que maneje los "errores" de los scripts, al estilo excepciones de java, pero ...
  #1 (permalink)  
Antiguo 28/01/2002, 11:43
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 16 años, 7 meses
Puntos: 0
Manejo de Errores

Hola a todos los del foro, estoy pensando en crear una clase que maneje los "errores" de los scripts, al estilo excepciones de java, pero nose si se justifica, he estado evaluando las situaciones en las que se dan los errores mas comunes, pero quisiera saber lo que ustedes hacen, o como manejan el tema de los errores en sus scripts y si estarian interesados en tener una clase de este tipo.

Por ejemplo, cuando se abre un archivo que no existe, se genera un error y se interrumpe la ejecucion del programa, lo que no queda muy lindo que digamos. Lo mejor seria tener una estructura del tipo:
try{
sentencia posiblemente erronea
}
catch{
sentencia en caso de error
}

Se que esto puede generan una sobre carga, en el interprete php, pero esto nos permitiria realizar programas mas seguros y estables.

He leido por ahi que php tiene la posibilidad de crear manejadores de errores pero todavia no tuve tiempo de chequearlo. seguramente me base en esto para generar mi clase.

Bueno volviendo al tema de este post, queria saber cual es la manera en la que controlan las salidas errones, si es que lo hacen :P.

Eso es todo, espero sus comentarios!!

Saludos!
Nok ;)
Neuquen - Patagonia Argentina
  #2 (permalink)  
Antiguo 28/01/2002, 12:46
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 16 años, 1 mes
Puntos: 68
Re: Manejo de Errores

Bueno, te comento lo que yo hago con el tema de los errores.

Como generalmente hoy en día el 90% del código que escribo, se basa en Objetos, tan solo cuando un Método de mi objeto resulta erróneo, seteo un atributo interno llamado "error" (me pasé de original) con el código del error generado y hago que mi método retorne "false".

Luego, en la ejecución local de mi script, siempre chequeo que mis métodos devuelvan distinto de False, en caso contrario, muestro el error (de la manera en la que lo esté implementando en ESE script en particular) o si estoy dentro de OTRO objeto, entonces seteo nuevamente la variable error de ese objeto (error propagation) y así hasta que me toque mostrar el error finalmente.

Igualmente me parece muy buena tu idea, yo mismo he pensado hacer un OBJETO ERROR hace tiempo, solo que por falta de tiempo nunca lo he comenzado, y al comenzar a trabajar de la forma que describí anteriormente, la idea se me ha ido de la cabeza.

Igualmente, me interesaría saber dónde has leido lo de "manejadores de errores" para hecharle un vistazo y ver si realmente vale la pena crear un Objeto error y sobrecargar al PHP con demasiada OOP.

Si necesitás info para investigar, te comento que el Proyecto PEAR (del que ya habrás escuchado), implementa un Objeto Error ya. Si quieres, puedes fijarte en el código fuente y ver como lo hacen y que atributos y métodos tiene.

Saludos.

<hr><font size=2 face="verdana">- Pablo Daniel Rigazzi (Webstudio)
<font size=1 color="#333333">COORDINADOR PROYECTO REGIONALIZACION ARGENTINA
Visita <a href="http://www.web-studio.com.ar" target="_blank">Web Studio</a> - Tutoriales Photoshop</fo
  #3 (permalink)  
Antiguo 28/01/2002, 17:17
Nok
 
Fecha de Ingreso: abril-2001
Mensajes: 302
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: Manejo de Errores

Gracias por tu comentario. En el manual de php esta el apartado de manejo de errores:

<a href='ir.asp?http://www.php.net/manual/en/features.error-handling.php' target='_blank'>http://www.php.net/manual/en/features.er...</a>

Todavia no lo he leido detenidamente, pero al parecer es bastante interesante, puedes definir tus propios manejadores de errores en tiempo de error entre otras cosas. Respecto a PEAR, la tengo que bajar todavia.

Bueno, gracias otra vez.

Saludos!
Nok ;)
Neuquen - Patagonia Argentina
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:29.