Mira... en forma sencilla cuando se labura con excepciones siempre participan 2 objetos al menos. Uno es el que genera la excepción y otro el que la captura y trata (podrian intervenir mas objetos pero como ejemplo estos 2 alcanzan)
Por ejemplo
Código PHP:
<?
//clase que genera un error
class Saludo
{
public function getSaludos(){ echo 'hola!'; }
public function getError(){ throw new Exception('esto es un error');}
}
//script/objeto que caputa la excepcion
try {
$obj = new Saludo();
$obj->getSaludo();
$obj->getError();
}catch (Exception $e){
$e->getMessage();
}
//aca sigue mi sscript
?>
Tene en cuenta que la excepcion para ser caputurada por tu script debe estar dentro del bloque del try, de lo contrario sera capturada por PHP
Otra cosa a tener en cuenta es que el codigo que este debajo de getError, o sea, el codigo que esta dentro del try por debajo de cuando se genera la execpcion no se ejecutara. SI el ejemplo anterior ponemos al revez los metodos no se vera ningun saludo en pantalla.
Código PHP:
<?
//script/objeto que caputa la excepcion
try {
$obj = new Saludo();
$obj->getError();
$obj->getSaludo();
}catch (Exception $e){
$e->getMessage();
}
//aca sigue mi sscript
?>
En cuanto a los metodos q publicaste yo no lanzaria ninguna excepcion en ellos... pero si lo habira en los metodos que realizas la conexion a la base o la consulta a la bd.