Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Capturar excepciones y guardarlas correctamente

Estas en el tema de Capturar excepciones y guardarlas correctamente en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola a todos, es una pregunta chorra, pero no doy con la tecla para hacerlo realmente bien. Estoy intentando que la aplicación que estoy haciendo ...
  #1 (permalink)  
Antiguo 05/07/2010, 15:20
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 10 meses
Puntos: 44
Capturar excepciones y guardarlas correctamente

Hola a todos, es una pregunta chorra, pero no doy con la tecla para hacerlo realmente bien.
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());
    } 
¿Sería correcto algo así sabiendo que puede haber varias querys en varias clases o sería una locura?.

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
  #2 (permalink)  
Antiguo 06/07/2010, 08:10
 
Fecha de Ingreso: noviembre-2007
Ubicación: Lanus, Buenos Aires
Mensajes: 178
Antigüedad: 17 años
Puntos: 14
Respuesta: Capturar excepciones y guardarlas correctamente

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
  #3 (permalink)  
Antiguo 06/07/2010, 23:10
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 10 meses
Puntos: 44
Respuesta: Capturar excepciones y guardarlas correctamente

gracias por responder, me has resuelto la duda. Sobre el framework, tranquilo tan solo es una aplicación de prueba que utilizo para aprender.

Un saludo

Etiquetas: correctamente, excepciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 03:50.