- ベストアンサー
「finally節で戻り値を記述してはいけない」理由
一般的に「finally節で戻り値を記述してはいけない」と 言われているのはなぜでしょうか? 実際にfinally節に戻り値を記述したバグのあるソースを 提示していただければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
(0)try節でどんな例外を投げてももみ消されてしまうが、このような動作を期待していることは考えにくいため。 (1)try節でどんな値を返してもfinally節のreturnで返したほうの値が返ることになるが、このような動作の実現のためにfinally節が使われることは考えにくいため。 でしょうか。自分は普段「finally ブロックは正常に完了しません。」の警告はエラー扱いするよう設定していますが、特に不便を感じたことはありません。finally節でreturnするようなコードがあったら、それはもっとわかりやすく自然なコードに書きなおせるということでしょう。サンプルコードは参考URLに譲ります。