Que tal, cómo estás?
Cita: Que tipo de errores son los que hacen saltar a la exepcion??
Ex
cepción, en casi cualquier idioma
Lo que veo, más allá del lenguaje, son dudas "conceptuales":
1) Los try/catch trabajan solo con excepciones, es decir, lo que tienes en el try tiene, si o si, que devolver una (y por lo general el 95% de PHP no lo hace).
2) En el catch se especifican las excepciones que quieres procesar como si fueran reglas de un firewall, es decir, primero va la más específica y finalmente una genérica para tratar de procesar algo que no sabes bien qué es y la excepción específica no contempla.
Por todo lo expuesto, lo que
te estaría faltando al final es una excepción general para ver por qué se está muriendo tu código.
Código PHP:
try{
// codigo
}catch(PDOException $e){
// codigo
}catch(Exception $e){
echo $e;
}
Siempre y cuando esté fallando y lo que falla retorne una excepción, si no lo hace, vas a tener que buscar por otro lado (en lenguajes como Java no tienes problemas porque TODO retorna una excepción).
También hay que entender que si el error es de "lógica", no hay excepción que te salve (como el echo que haces luego de un return).
Las excepciones no hacen magia, solo capturan algo que retornó una excepción, si no lo hace, no lo capturas y sigues de largo.
Espero haber aclarado tus dudas
PD: busca en el foro este tema, creo que ya hemos hablado de él y con muchos detalles técnicos.