我正在關注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