我的项目使用“db.class.php”中的pdo异常处理,这是所有库的全局文件,不能因影响而更改。
在某个时间点,应用程序正在尝试连接一个新数据库,如果无法访问新数据库,则脚本应忽略此错误并继续执行。
新的db连接异常在'db.class.php'中处理,当我尝试在连接新数据库时处理异常时,不知何故异常处理不起作用,脚本在该点停止。
如果我在连接到新数据库时没有处理异常,在这种情况下,脚本也停止执行。
要求即使db由于任何问题没有连接,脚本也应该忽略错误继续执行。
代码:
try {
$newDb = new DB(DB_HOST_new, DB_NAME_new, DB_USER_new, DB_PASS_new, DB_UTC_TIMEZONE);
$isDbSsConnected = true ;
} catch (PDOException $exx) {
//throw new Exception('Unable to connect');
}
db.class.php文件
try {
$connection = new PDO( $dsn, $username, $password );
$connection->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
if ( $utc ) {
$this->setUtc( $connection );
}
$this->connection = $connection;
self::$connections[$dsn][$username] = self::$connectionCachingEnabled ? $this->connection : NULL;
} catch ( PDOException $ex ) {
throw new DbEx( "Initialize Failed: DSN = " . $dsn, DbEx::INIT_FAILED, $ex );
}
2条答案
按热度按时间qjp7pelc1#
假设这是您的自定义异常名称dbex
那你就有db课了
现在您有了一个页面/文件,您将从类db调用该连接
上面的代码将按照您的要求工作,但是,您的代码在这一部分
我认为您需要再次检查错误消息错误可能来自此代码本身。
ggazkfy82#
这个
db.class.php
文件正在抛出DbEX
异常可能是您应该捕获的异常,而不是泛型PDOException
.