1. 程式人生 > >關於:try catch如何正確使用?

關於:try catch如何正確使用?

經常看到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(成功){if(成功)...} 一層一層的巢狀看起來暈死你