如何在错误的数据库连接上设置自己的异常


How to set an own Exception on wrong database connection?

当我试图连接到错误的数据库时,我得到这样的标准kohana异常消息:

Database_Exception [ 1049 ]: Unknown database 'mywrongdatabase'
MODPATH'database'classes'kohana'database'mysql.php [ 108 ]
    protected function _select_db($database)
    {
        if ( ! mysql_select_db($database, $this->_connection))
        {
            // Unable to select database
[line 108]          throw new Database_Exception(':error',
                array(':error' => mysql_error($this->_connection)),
                mysql_errno($this->_connection));
        }
        Database_MySQL::$_current_databases[$this->_connection_id] = $database;

这个来自文件

MODPATH'database'classes'kohana'database'mysql.php [ 108 ]

如何设置(以及在哪里)自己的消息而不是标准kohana的异常?我也不想修改任何kohana标准模块(如数据库)或系统文件。

您可以尝试使用try/catch,但我留下error_log和throw new Exception,因为我不知道您需要哪一个。

try{
    //code with connection
} catch (Exception $e){  
    error_log("This is my own message");
    throw new Exception( 'Something really gone wrong', 0, $e);
}