public interface AutoCloseable
修飾子と型 | メソッドと説明 |
---|---|
void |
close()
このリソースを閉じ、ベースとなるリソースをすべて解放します。
|
void close() throws Exception
try
-with-resources 文で管理されているオブジェクトで自動的に呼び出されます。
このインタフェースメソッドは Exception
をスローするように宣言されていますが、実装者には、close
メソッドの具象実装を宣言する際に、より具体的な例外をスローするか、またはクローズ処理で失敗できない場合は例外を一切スローしないことを強くお勧めします。
このインタフェースの実装者には、close
メソッドから InterruptedException
がスローされないようにすることも強くお勧めします。
この例外はスレッドの割り込みステータスと相互に作用するので、InterruptedException
が抑制されるとおそらく実行時の誤動作が発生します。
より一般的には、ある例外を抑制すると問題が発生する場合、AutoCloseable.close
メソッドはその例外をスローすべきではありません。
Closeable
の close
メソッドと異なり、この close
メソッドはべき等である必要はありません。つまり、この close
メソッドを複数回呼び出すと何らかの副作用が発生する可能性がありますが、これは、複数回呼び出されても副作用がないことが要求される Closeable.close
と異なります。
ただし、このインタフェースの実装者には、自身の close
メソッドをべき等にすることを強くお勧めします。
Exception
- このリソースを閉じることができない場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.