Ver Mensaje Individual
  #5 (permalink)  
Antiguo 12/04/2011, 16:47
Avatar de masterpuppet
masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: Problemas mostrando errores TRY-CATCH

Buenas,

@jotaincubus y @Triby, por defecto PDO trabaja en ERRMODE_SILENT, pero se puede configurar para que lance las excepciones, es mas, es una de las razones por la que los FW's extienden PDO, para setearlo de forma automática, algo así:

Código PHP:
Ver original
  1. class PDOConnection extends PDO
  2. {
  3.     public function __construct($dsn, $user = null, $password = null, array $options = null)
  4.     {
  5.         parent::__construct($dsn, $user, $password, $options);
  6.         $this->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  7.     }
  8. }
  9.  
  10. $conn = new PDOConnection('mysql:dbname=mydb', 'username', 'passwd');
  11.  
  12. try {
  13.     $stmt = $conn->prepare('SELECT * FROM non-existent-table');
  14.     $stmt->execute();
  15. } catch (PDOException $e) {
  16.     print_r($e);
  17. }

también pueden setear los atributos después de instanciar PDO o directamente en el constructor, algo así:

Código PHP:
Ver original
  1. $pdo = new PDO('mysql:dbname=mydb', 'username', 'passwd', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)