亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么php需要手動拋出異常?

if (!file_exists($filename)) {
????? throw new Exception('文件不存在');
??? }

類似例子中,需要先判斷$filename是否存在,不存在就拋出異常,這樣還有什么意義?既然我自己都判斷了,那還需要拋出什么異常?完全可以 echo '文件不存在';,這樣就行了,也不會中斷指令流的執行。

以前學的java都可以直接try{}catch(){}把有可能出錯的代碼放在try中,出錯了就自動拋出了,完全不用手動拋出異常

正在回答

3 回答

因為php的異常處理弱爆了,在php里,遇到任何自身錯誤都會觸發一個錯誤,而不是拋出異常,如果想使用異常處理不可預測的問題,是辦不到的,也就是說,php通常是無法自動撲獲有意義的異常的,他把所有不正常的情況都視為錯誤,你想撲獲異常就得使用if...else...結構

0 回復 有任何疑惑可以回復我~
#1

QQ_hong 提問者

額,謝謝,PHP的異常處理果然弱爆了
2015-06-23 回復 有任何疑惑可以回復我~

剛看Java的異常處理,突然發現PHP的異常處理弱爆了...

不過異常的一個原因就是講異常處理 和 正常處理分開...就這一點,PHP的異常處理還是有點用處的...

原來php不是世界上最好的語言....

0 回復 有任何疑惑可以回復我~

php只有你自動throw后,才能撲獲異常

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP進階篇
  • 參與學習       181921    人
  • 解答問題       2668    個

輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序

進入課程

為什么php需要手動拋出異常?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號