Java File close() が例外をスローするのを見たことがありますか? 質問する

Java File close() が例外をスローするのを見たことがありますか? 質問する

閉じることができるオブジェクトで close メソッドを呼び出したときに例外がスローされるのを見たことがある人はいますか?

ベストアンサー1

最終試験に不合格になると、がIOExceptionスローされます。考えられる原因は次のとおりです。closeflush

  • ファイルシステムがいっぱいか、ユーザーがクォータを超えている、
  • ハードディスクエラー、
  • ファイルシステムが強制的にアンマウントされた、
  • ネットワークやその他の問題によりリモートファイルシステムが利用できない場合、
  • OutputStreamWriterまたは同様の方法でファイルに書き込む場合、(おそらく)文字エンコードエラーが発生します。
  • 「ファイル」がデバイスファイルの場合、デバイスエラーが発生します。
  • 閉じられるものがネットワークストリームである場合、接続が失われる。
  • 閉じられるパイプが外部プロセスへのパイプである場合は、パイプが壊れている。
  • 等々。

確かに、これらのうちいくつかは見たことがあります。他のものは、おそらく見られません。

ただし、書き込むデータが重要な場合は、close失敗を許容する必要があります。たとえば、アプリケーションが重要なファイルを書き込んでいてファイル システムがいっぱいになった場合、ファイルの古いコピーを切り捨てられたバージョンに置き換える前に、アプリケーションでこれを認識する必要があります。

おすすめ記事