經常看到php函式一呼叫接下來就使用 if(成功或失敗的返回值) 來判斷,好繁瑣,不明所以,
用try catch明明函式呼叫出錯了卻捕捉不到錯誤,於是思考try catch 到底該如何正確使用?
忽然想到這個原因可能就跟呼叫函式的try catch 或類似錯誤處理有關 --
即:函式定義是不是最好都使用 try catch 加入失敗後的返回值?
這樣每次呼叫函式時下一句就直接 if(失敗的返回值) 進行處理,以致php都可以在呼叫函式的外層不使用 try catch 程式就很健壯,
所以也導致你使用了try catch 也捕捉不到,
一旦用了 try 則 throw 只會被函式自己的 catch 捕獲,也不必在函式的 catch 和 finally 裡再 throw ,因為 throw 了也不會丟擲到函式外層去,
但你php**裡自寫的函式可以throw,這樣丟擲的異常到呼叫函式的外層php** tyr catch 裡捕獲,但php自帶函式或許是封裝成了二進位制的外部程式或許是程序外執行所以不能catch到。
注意:不要用 if(成功) 一層一層的巢狀看起來暈死你
如何使用 TRY CATCH 語句避免死鎖
死鎖是正常現象不可避免。發生死鎖會犧牲乙個程序並回滾事務,sql不會自己重試,需要用try catch和waitfor實現重試。具體方法如下 如何使用 try catch 語句避免死鎖 現在,讓我們來使用 try catch 語句修改 正文。對於本示例,需要以 sql server 2005 版本執...
如何使用 TRY CATCH 語句避免死鎖
死鎖是正常現象不可避免。發生死鎖會犧牲乙個程序並回滾事務,sql不會自己重試,需要用try catch和waitfor實現重試。具體方法如下 如何使用 try catch 語句避免死鎖 現在,讓我們來使用 try catch 語句修改 正文。對於本示例,需要以 sql server 2005 版本執...
如何使用 TRY CATCH 語句避免死鎖
死鎖是正常現象不可避免。發生死鎖會犧牲乙個程序並回滾事務,sql不會自己重試,需要用try catch和waitfor實現重試。具體方法如下 如何使用 try catch 語句避免死鎖 現在,讓我們來使用 try catch 語句修改 正文。對於本示例,需要以 sql server 2005 版本執...