我正在关注OOP mysqli课程。当连接到数据库时,他们使用下面的脚本:Try/catch in PHP
$db = new mysqli("host", "user", "password", "database");
if ($db->connect_error){
$error = $db->connect_error;
echo("Not connected: " . $error);
}
后来虽然,他们调用数据库连接文件用try/catch块:
try {
require_once "connection.php";
}catch (Exception $e){
$error = $e->getMessage();
echo $error;
}
是不是可能连接错误是尝试连接后立即由连接文件处理? try/catch块基本上是做同样的事情吗?或者try/catch块寻找不同类型的错误?
更新:只是为了澄清,在阅读一些答案后。当我只是这样做:
try {
$db = new mysqli("host", "user", "password", "database");
}catch (Exception $e){
$error = $e->getMessage();
echo $error;
}
假设数据库访问的数据是错误的(例如错误的主机),我得到一个PHP警告,但不是在catch块的错误输出。 catch不应该检测到这个错误吗?
请加链接到课程 – 2014-12-07 17:21:49
如果连接文件被抛出一个异常,如果catch块终止显示任何异常后的剧本,我会倾向于同意....但在现实中没有实际处理任何连接问题干净,因为脚本会继续执行g无论是否有数据库连接 – 2014-12-07 17:26:21
joebezucha,该课程被称为从lynda.com访问数据库与面向对象的PHP – cesarcarlos 2014-12-07 17:54:28