2013-05-08 133 views
-1

在使用try catch塊來查看我的Pdo語句之後是否真的有益處?這是否會減慢你的代碼?Pdo錯誤捕獲嘗試/捕獲

我相信在數據庫連接失敗的情況下,應該嘗試使用連接命令。但是,是否真的需要試着抓住每個預先準備好的聲明?這些應該永遠不會改變,永遠不會出錯。

有什麼想法?

我正在使用Php和MySql。

回答

1

沒有好處的:

try { 
    // exec statement 
    // exec statement 
} 
catch (Exception $e) { 
    // do nothing 
} 

如果你不打算做任何的錯誤,並提供合理的解決方案,那麼你不妨讓異常冒泡應用程序的主「出錯了」錯誤頁面。

但是你可能想這樣做:

// begin transaction 
try { 
    // exec statement 
    // exec statement 
    // commit transaction 
} 
catch (Exception $e) { 
    // rollback transaction 
    // handle error or rethrow $e; 
} 

,並準備語句可以拋出異常。也許一個唯一的密鑰被侵犯,或者一個外鍵約束等等。

但是要點是,你不要使用異常來隱藏或者靜默錯誤。您可以使用它們來捕捉錯誤,進行智能處理,然後相應地繼續。