代碼如下:
public function getCountByType($type) {
try {
......
return $num;
} catch (Exception $e) {
Log::dbe($e);
}
return 0;
}
請問后面那句 return 0; 有必要嗎?
謝謝回答!
6 回答

森欄
TA貢獻1810條經驗 獲得超5個贊
有必要, 除非你的異常處理的代碼還繼續拋出異常, 才會阻止后續的語句執行.
順序就是:
執行你的主要代碼 ... , 拋出異常
catch 捕獲異常, 執行異常處理代碼,
Log::dbe($e)
繼續執行
try {} catch () {}
結構體后面的代碼.

素胚勾勒不出你
TA貢獻1827條經驗 獲得超9個贊
沒必要,因為不出異常你會return $num
,想必你也不會再有return 0
的需求了吧,而出了異常會直接執行catch
里面的語句,不會執行下面任何語句,自然也不會執行下面的return 0

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
這么說吧,如果try的部分出了異常就執行catch的內容,還會執行return 0,如果你的網站架構是像yii這樣有afteraction的話,不寫return 0,還會把afteraction的內容跑一遍,所以我一般都會在每個方法中寫個return
添加回答
舉報
0/150
提交
取消