Las exceptions estan para ser lanzadas :P si ocurre un error al momento de hacer el query no veo mal que hagas un throw, siempre y cuando tengas el cuidado de hacer el try catch correspondiente
En el MVC, si tienes un frontController es este el encargado de capturar las excepciones y luego decididir si mostrarlas (en un ambiente de desarrollo) o de redirigir a una pagina de error (en produccion)
PD: Veo que estas usando tus propias clases para trabajar con bdd, implementanto tu propio MVC.... no malgastes tu tiempo y usa algun framework como zend o symfony