給用戶提示能用try catch嗎還是要用if(){echo '成功';}else{echo '失敗';}
而這兩種又有何區(qū)別
ringa_lee
try和if一樣,都是程序語言提供的語法。并沒有哪個給程序員看,哪個給用戶看的說法。
但是它們有很多特性是不同的。具體用哪個,并無鐵律。
題注會這樣問,說明沒有掌握到異常機(jī)制的運(yùn)用精髓。既然如此,不如用if,簡單就不會出錯。
if
和try catch
并沒有說要給誰看,還是視情況而定為了業(yè)務(wù)而設(shè)計。
if
:一般用當(dāng)前功能的邏輯上面的判斷,判斷一些可以預(yù)測的可能性;try catch
:通常用于異常的捕捉,這些異常出現(xiàn)的可能性是不可預(yù)測的,比如‘磁盤內(nèi)存不足’,‘0被整除’等等,為什么這里不用if
呢?因為這些通用的異常一般不是被語言庫包裝成了對應(yīng)的異常對象,就是在項目內(nèi)部被封裝成自己的庫,然后可以廣泛使用,當(dāng)然了,用if
也可以達(dá)到同樣的效果,甚至源碼里面都用到了if
,而我們沒有必要自己再做這種事情,而且過多的使用if
做異常檢測難免讓人覺得很奇怪
try catch更多用于來捕捉未知異常;如果是可預(yù)見的異常try catch提示用戶也是不錯的用法;用if提示信息也可以;如果是未知異常,想規(guī)避異常提示,try catch是個好主意!
try catch 是用來處理異常,抑制錯誤并收集錯誤信息用的的,if 為true時執(zhí)行代碼,else執(zhí)行另外的代碼,給用戶提示要用if 沒必要用try catch
try catch 是用于捕獲異常
如果捕獲到異常就可以在控制臺看到錯誤日志,易于查看錯誤信息與調(diào)試
捕獲異常,拋出異常后,可以避免程序在有錯的情況下運(yùn)行不至于崩潰