私は設計上、最終ブロックでリソースのクリーンアップを行う必要があることを知っています。そのため、例外処理コードが何であれ、最終ブロックは常に実行されます。しかし、「なぜ」それが実行されるのは私の質問ですか?, これはインタビューで私の友人に尋ねられたので、彼と話し合った後、私も混乱しました.
2 に答える
4
ほとんどの場合、リソースのクリーンアップに関連しています。または、合理的な状態に戻すための論理的なクリーンアップに関連している場合もあります。
ファイルハンドルまたはデータベース接続 (または何でも) を開いた場合、そのコードを離れるときに、「通常」または例外を介して、どのように離れるかに関係なく、ハンドルを閉じたいと思います。
finally
ブロックは単に、「何があってもこれを実行する」動作を与えるためにあるだけで、これはしばしば便利です。
1まあ、当然のことです。たとえば、プロセスが突然停止した場合ではありません-電源ケーブルが追い出された場合。
于 2013-08-23T07:16:48.963 に答える