Cita:
Iniciado por pateketrueke 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.