Cita: pero no se por que no habra funcionado el catch...
Porque una consulta hacia una tabla que no existe no necesariamente produce una excepción, vamos, es como hacer una consulta con un WHERE imposible de cuadrar.
Le consulta se ejecuta aunque no obtengas resultados.