Ojo que las excepciones son precisamente para eso, para casos excepcionales, o cuando la clase no pueda trabajar de la forma que necesita debido a que no hay los datos, no las uses como control de flujo de tu programa, ya que no son para eso, sí lo que quieres es por ejemplo checar que haya una conexión, dale un método a tu clase que lo haga:
Código PHP:
Ver originalclass db
{
private $conexion;
public function __construct(/* config *)
{
$this->config = $config;
}
public function connect()
{
$connect = foo();
$this->conexion = $connect;
return ($connect->id ? true : false);
}
public function query($sql)
{
if (!$this->conexion) {
throw new Exception('no hay conexión');
}
// stuff
}
}
try {
$db = new db(/* */);
if (!$db->connect()) {
echo "no se pudo conectar";
} else {
$result = $db->query($sql);
}
} catch (Exception $e) {
echo $e->getMessage();
}
Saludos.