給使用者提示能用try catch嗎還是要用if(){echo '成功';}else{echo '失敗';}
而這兩種又有何差別
PHP中文网2017-05-16 13:14:18
try和if一樣,都是程式語言提供的語法。並沒有哪個給程式設計師看,哪個給使用者看的說法。
但是它們有很多特性是不同的。具體用哪個,並無鐵律。
題註會這樣問,說明沒有掌握到異常機制的運用精髓。既然如此,不如用if,簡單就不會出錯。
PHP中文网2017-05-16 13:14:18
if
和try catch
並沒有說要給誰看,還是視情況而定為了業務而設計。
if
:一般用当前功能的逻辑上面的判断,判断一些可以预测的可能性;try catch
:通常用于异常的捕捉,这些异常出现的可能性是不可预测的,比如‘磁盘内存不足’,‘0被整除’等等,为什么这里不用if
呢?因为这些通用的异常一般不是被语言库包装成了对应的异常对象,就是在项目内部被封装成自己的库,然后可以广泛使用,当然了,用if
也可以达到同样的效果,甚至源码里面都用到了if
,而我们没有必要自己再做这种事情,而且过多的使用if
做異常檢測難免讓人覺得很奇怪
滿天的星座2017-05-16 13:14:18
try catch更多用來捕捉未知異常;如果是可預見的異常try catch提示使用者也是不錯的用法;用if提示訊息也可以;如果是未知異常,想規避異常提示,try catch是個好主意!
迷茫2017-05-16 13:14:18
try catch 是用來處理異常,抑制錯誤並收集錯誤訊息用的,if 為true時執行程式碼,else執行另外的程式碼,給使用者提示要用if 沒必要用try catch
伊谢尔伦2017-05-16 13:14:18
try catch 是用於捕獲異常
如果捕獲到異常就可以在控制台看到錯誤日誌,易於查看錯誤信息與調試
捕獲異常,拋出異常後,可以避免程序在有錯的情況下運行不至於崩潰