Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Tratamiento de excepciones

Estas en el tema de Tratamiento de excepciones en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, estoy pensando en hacer lo siguiente. Por cada tipo de error (excepcion) que se pueda dar en mi sistema... crear una clase excepcionXXXX que ...
  #1 (permalink)  
Antiguo 28/05/2008, 14:20
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
Tratamiento de excepciones

Hola, estoy pensando en hacer lo siguiente. Por cada tipo de error (excepcion) que se pueda dar en mi sistema... crear una clase excepcionXXXX que extienda a Exception. Es decir....para errores que se puedan dar en la BD .... crear una clase ExccepcionBD que extienda a Exception...y a esta por ejemplo le daria el code=1 ....

Como lo veis? Que mas tipo de excepciones o problemas hay que tener en cuenta siempre o casi siempre? (me refiero a problemas muy comunes del tipo de "Error al insertar un registro en la BD debido a fallo de nose k..."! ) ?

Imaginense, que de varios sitios voy escupiendo con throws excepciones y llega a un sitio....donde....posiblemente le puedan llegar rebotadas varios tipos de excepciones.....tonces como tendria que hacer el catch? catch (ExcepcionBD $e, ExcepcionBlaBla $e, ExcepcionBloBlo $e) {} ???


Un saludo y gracias
  #2 (permalink)  
Antiguo 28/05/2008, 15:40
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: Tratamiento de excepciones

Algo asi ?

http://php.net/manual/en/function.set-error-handler.php
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 28/05/2008, 16:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Tratamiento de excepciones

mmm si...algo asi pero con excepciones............
me gustaría que me dieran su opinion sobre ello.....si lo ven bien..etc....
  #4 (permalink)  
Antiguo 28/05/2008, 17:41
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Tratamiento de excepciones

Te recomiendo que leas manuales o tutoriales de Java que toquen el tema de Excepciones.

Primero, Java tiene por defecto toda una estructura de Excepciones para la mayoría de los casos conocidos, luego puedes heredar de alguna de ellas para especializarla aún más (ahí tienes un ejemplo que puedes reproducir sin reinventar la rueda).

Segundo, conceptual base, para el manejo de excepciones tienes que tener el mismo orden de las reglas de un firewall , primero las más específicas, bajando, hasta la última más genérica. Si lo haces al revés, siempre entrará por la excepción primera, ya que todos la cumplirían.

PD: por eso digo que en el mundo PHP, si solo vemos PHP, nos estamos perdiendo de un universo de conocimientos. Esto tiene que cambiar, no nos quedemos solo en los lenguajes, busquemos afirmar los conceptos y luego aplicarlos al lenguaje de turno que soporte POO (PHP, Python, Ruby, Java, etc).
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #5 (permalink)  
Antiguo 31/05/2008, 10:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 394
Antigüedad: 16 años, 6 meses
Puntos: 2
Respuesta: Tratamiento de excepciones

Respecto a este tema de expeciones, convendria que siempre que haga un throw Exception .... me meta en algun archivo .txt el tipo de excepcion que se ha dado......con el objetivo de tener conciencia de los errores que se dan en la web??

Así .... si un dia ves que ha habido 2000 excepciones lanzadas a la hora de hacer un mysql_connect......pues sabes que algo raro pasa....

Que opinan? Si lo ven correcto..... hay alguna forma sencilla de hacerlo?

Un saludo
  #6 (permalink)  
Antiguo 31/05/2008, 12:59
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Tratamiento de excepciones

Hola Blade_Stom,

Puedes usar la función de PHP set_error_handler para crear una función propia para procesar los errores, y ahi guardar las excepciones no "cachadas".

Saludos.
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:14.