Estoy intentando que la aplicación que estoy haciendo no casque no ningun lado. La cuestion es que me surgen 2 dudas a la hora de implementar correctamente las Excepciones.
1- ¿Como arrojo correctamente una excepcion capturada en la clase de base de datos (por ejemplo)? quiero decir, si tengo parte de la clase:
Código PHP:
public static function getInstance() {
if(self::$instance == null) {
self::$instance = new Database();
}
return self::$instance;
}
public function Connect() {
$this->connection = mysql_connect($this->host, $this->user, $this->pass);
if ($this->connection == false) {
throw new Exception('Error: '(mysql_error());
}
mysql_select_db($this->dbname, $this->connection) or or throw new Exception('Error: '(mysql_error());
}
public function Query($query) {
return mysql_query($query, $this->connection) or throw new Exception('Error: '(mysql_error());
}
Sabiendo también que uso un patrón de diseño MVC y juntandolo con mi última pregunta..¿Las excepciones deberían propagarse hasta el controlador (y ya una vez alli llamar a la clase Log que se encarga de escribir en el log) o debería ser el modelo quien desde cada clase incluya la clase Log y escriba en el archivo?
No conozco la manera correcta, la recomendada o la más optimizada para este caso. Una manita please..
SAludos