2

私は設計上、最終ブロックでリソースのクリーンアップを行う必要があることを知っています。そのため、例外処理コードが何であれ、最終ブロックは常に実行されます。しかし、「なぜ」それが実行されるのは私の質問ですか?, これはインタビューで私の友人に尋ねられたので、彼と話し合った後、私も混乱しました.

4

2 に答える 2

4

ほとんどの場合、リソースのクリーンアップに関連しています。または、合理的な状態に戻すための論理的なクリーンアップに関連している場合もあります。

ファイルハンドルまたはデータベース接続 (または何でも) を開いた場合、そのコードを離れるときに、「通常」または例外を介して、どのように離れるかに関係なく、ハンドルを閉じたいと思います。

finallyブロックは単に、「何があってもこれを実行する」動作を与えるためにあるだけで、これはしばしば便利です。


1まあ、当然のことです。たとえば、プロセスが突然停止した場合ではありません-電源ケーブルが追い出された場合。

于 2013-08-23T07:16:48.963 に答える