0
是否有可能爲PDOStatement::fetch()
拋出異常(PDOException)或僅$dbh->prepare($query)->execute()
可能發出錯誤?可能性爲PDOStatement對象:: fetch()方法拋出一個PDOException
如果PDOStatement::fetch()
不會拋出一個錯誤,那麼我可以滿懷信心地使用它,而把它放在try...catch
子句中
是否有可能爲PDOStatement::fetch()
拋出異常(PDOException)或僅$dbh->prepare($query)->execute()
可能發出錯誤?可能性爲PDOStatement對象:: fetch()方法拋出一個PDOException
如果PDOStatement::fetch()
不會拋出一個錯誤,那麼我可以滿懷信心地使用它,而把它放在try...catch
子句中
@WeeZel已經爲這個問題提供了很好的答案:PDOStatement::fetch()沒有一個錯誤/異常節在文檔中,所以它不會拋出一個(參見PDO::__construct作爲如果發生錯誤會發生什麼的例子)。
請參考上面的評論。
您不必將每個可能拋出異常的方法放入try..catch中,您知道嗎?這隻有在你*期望*出錯時纔有所幫助,並且如果你發現了錯誤並且知道該怎麼做。如果在發生*異常*時不知道該怎麼做,這意味着一個*例外,無法預料的問題*,那麼您最好還是讓程序死掉。 – deceze
(來自docs)這個函數在成功上的返回值取決於獲取類型。在所有情況下,FALSE都會在失敗時返回。 –
根據[這裏](http://php.net/manual/en/pdostatement.fetch.php),如果失敗,它將爲所有獲取類型返回false。所以,即使你沒有放入'try..catch',也沒有問題,只要正確處理返回值 – Swellar