I write:
class MyPDOException extends PDOException{
protected $_errorMsg;
public function getErrorMsg(){
$this->_errorMsg =
'Error: ' . $this->getMessage() . '<br />' .
'File: ' . $this->getFile() . '<br />' .
'Line: ' . $this->getLine(). '<br/>';
return $this->_errorMsg;
}
}
Then:
class DB{
protected $_db;
const DB_HOST = 'localhost';
const DB_NAME = 'ws';
const DB_USER = 'root';
const DB_PASSWORD = 'homedb';
public function __construct(){
try{
$this->_db = new PDO("mysql:host=" . self::DB_HOST .
";dbname=" . self::DB_NAME, self::DB_USER , self::DB_PASSWORD);
$this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (MyPDOException $e){
$e->getErrorMsg();
}
}
...
And if, for example, password is incorrect I receive:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied...
What I am doing wrong?