Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/12/2010, 21:21
Avatar de jaao_death
jaao_death
 
Fecha de Ingreso: abril-2009
Ubicación: Murcia/españa
Mensajes: 229
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: problemas con try Catch

Cita:
Iniciado por pateketrueke Ver Mensaje
y no sería mas fácil validar el dato, en lugar de usar una excepción para validar?
Código PHP:
if ( ! is_array($dato)) throw new Exception('El argumento $dato debe ser un arreglo'); 
No sé qué quiere decir pero bueno...

Vamos a ver primero tienes que entender cómo funciona el bloque try {...} carch (...) {...}:

El susodicho al abrir el bloque try ejecuta todo el código que contiene como si fuera una ejecución normal, con la única diferencia de que en el momento en que dicho código lance una excepción el bloque detiene su ejecución y la envía al bloque catch más compatible, es decir, el que solicite ese tipo de clase, por ejemplo. Luego, si nunca lanzas una excepción, nunca podrás atraparla, es lógica aplastante, lo que tienes que pensar, además, es que si tú ves que algo es una excepción, no creas que va lanzar una por sí sola, la tienes que lanzar tú a menos que cambies el modo como PHP maneja los errores.

El caso, que a menos que le digas a PHP que trate los errores como excepciones o lances manualmente una excepción, el bloque catch nunca atrapará nada ya que nunca se lanzará (throw) nada.
__________________
Mucha seguridad nunca es suficiente.... Por una red segura
El señor ilustre obscurece nuestras mentes
Usas Linux? http://www.dudalibre.com/gnulinuxcounter