まず、Try-With-Resourcesステートメントの基本的な構文を見てみましょう。
try (リソースの初期化) {
// リソースを使用するコード
} catch (例外クラス1 変数名1) {
// 例外処理1
} catch (例外クラス2 変数名2) {
// 例外処理2
} finally {
// リソースの解放
}
この構文では、try
ブロックの直前にリソースの初期化を行います。リソースは通常、ファイルやデータベース接続などの外部リソースです。リソースの初期化が行われると、try
ブロック内でそのリソースを使用することができます。
try
ブロック内で例外が発生した場合、例外に応じたcatch
ブロックが実行されます。例外が発生しなかった場合は、catch
ブロックはスキップされます。
finally
ブロックでは、リソースの解放を行います。このブロックは例外の有無に関係なく必ず実行されるため、リソースの解放漏れを防ぐことができます。
以下に、具体的なコード例を示します。
try (FileReader reader = new FileReader("ファイルパス")) {
// ファイルの読み込み処理
// リーダーを使用した処理
} catch (IOException e) {
// IOExceptionの例外処理
} finally {
// リーダーの解放
}
上記の例では、FileReader
を使用してファイルを読み込む処理を行っています。try
ブロックの直前でFileReader
を初期化し、try
ブロック内でファイルの読み込み処理を実行します。例外が発生した場合は、catch
ブロックで適切な例外処理を行います。最後に、finally
ブロックでFileReader
を解放してリソースを解放します。
このように、「Try-With-Resources」ステートメントを使用することで、リソースの自動的な解放や例外処理を簡潔かつ安全に記述することができます。Javaのプログラミングでリソースの管理を行う際には、この機能を積極的に活用してください。