為什么php需要手動拋出異常?
if (!file_exists($filename)) {
????? throw new Exception('文件不存在');
??? }
類似例子中,需要先判斷$filename是否存在,不存在就拋出異常,這樣還有什么意義?既然我自己都判斷了,那還需要拋出什么異常?完全可以 echo '文件不存在';,這樣就行了,也不會中斷指令流的執(zhí)行。
以前學(xué)的java都可以直接try{}catch(){}把有可能出錯的代碼放在try中,出錯了就自動拋出了,完全不用手動拋出異常
2015-06-23
因?yàn)閜hp的異常處理弱爆了,在php里,遇到任何自身錯誤都會觸發(fā)一個錯誤,而不是拋出異常,如果想使用異常處理不可預(yù)測的問題,是辦不到的,也就是說,php通常是無法自動撲獲有意義的異常的,他把所有不正常的情況都視為錯誤,你想撲獲異常就得使用if...else...結(jié)構(gòu)
2015-12-20
剛看Java的異常處理,突然發(fā)現(xiàn)PHP的異常處理弱爆了...
不過異常的一個原因就是講異常處理 和 正常處理分開...就這一點(diǎn),PHP的異常處理還是有點(diǎn)用處的...
原來php不是世界上最好的語言....
2015-06-23
php只有你自動throw后,才能撲獲異常