課程
/后端開發
/PHP
/PHP進階篇
后面代碼不執行,但是我再輸出個什么仍然能輸出,那個不執行說的是什么,不是很理解啊
2015-01-07
源自:PHP進階篇 6-1
正在回答
拋出異常,如果有catch ,會直接進入catch 代碼塊里,執行catch里面的代碼,而不會再去執行拋出異常語句之后的代碼。
$filename = 'test.txt';
try {
? ? if (!file_exists($filename)) {
? ? ? print ('before');
? ? ? throw new Exception('文件不存在');
? ? ? print ('after');
? ? }
} catch(Exception $e) {
? ? echo $e->getMessage();
? ? echo 'something';
}
例如這個,會執行print ('before');?
但throw new Exception('文件不存在');出現了異常,所以會直接去執行?echo $e->getMessage();echo 'something'; ?會跳過??print ('after'); 這句代碼
_亓 提問者
舉報
輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序
4 回答為什么換行標簽沒有被執行而是直接輸出了
1 回答我的代碼執行成這樣了是什么回事
1 回答這個執行順序為什么是這樣
2 回答這是什么執行順序?
2 回答print_r是輸出,和echo有什么不同
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-01-21
拋出異常,如果有catch ,會直接進入catch 代碼塊里,執行catch里面的代碼,而不會再去執行拋出異常語句之后的代碼。
$filename = 'test.txt';
try {
? ? if (!file_exists($filename)) {
? ? ? print ('before');
? ? ? throw new Exception('文件不存在');
? ? ? print ('after');
? ? }
} catch(Exception $e) {
? ? echo $e->getMessage();
? ? echo 'something';
}
例如這個,會執行print ('before');?
但throw new Exception('文件不存在');出現了異常,所以會直接去執行?echo $e->getMessage();echo 'something'; ?會跳過??print ('after'); 這句代碼