5
返品後に作業を行うためのfinally節の使用は、スタイルが悪い/危険ですか?
イテレーターの作成の一環として、次のコードを作成していることに気付きました(エラー処理を削除) public T next() { try { return next; } finally { next = fetcher.fetchNext(next); } } 読むよりもやや読みやすい public T next() { T tmp = next; next = fetcher.fetchNext(next); return tmp; } 私はそれが読みやすさの違いがそれほど圧倒的ではないかもしれない単純な例であることを知っていますが、例外が含まれていないこのような場合にtry-finallyを使用するのが悪いかどうかについての一般的な意見に興味がありますコードを簡素化するときに実際に優先される場合。 悪い場合:なぜ?スタイル、パフォーマンス、落とし穴、...? 結論 あなたのすべての答えに感謝します!(少なくとも私にとって)結論は、最初の例は一般的なパターンであれば読みやすかったかもしれないが、そうではないということだと思います。そのため、目的外の構造を使用することで生じる混乱と、場合によっては難読化された例外フローが、単純化よりも重要になります。