エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
はじめに Java の try ~ finally と return の良く知られた闇として「finally 句にて値の return もし... はじめに Java の try ~ finally と return の良く知られた闇として「finally 句にて値の return もしくは例外のスローをするといろいろとまずい」というものがある。検索すれば詳細な情報はすぐ出てくると思うので、どうしてまずいのかだけを簡潔に述べておくと try 句での return や例外を finally 句で完全に上書いてしまえる、という理由による。すると最初に発生した例外を無視して別の例外をスローできたり、全く何もなかったかのような正常な return を行なえる状態になってしまうのだ。 もう一つの闇 しかしもう一つ、 try ~ finally と return には闇が見え隠れしていることを指摘しておく。実は finally 句ではなく try 句で return していても闇コードになることがあるのだ。こちらについては、あまり情報を見掛けない