finally
finallyはtryと一緒に使います。tryブロック中でExceptionが発生しても必ずfinallyブロックは実行されるというものです。
実際に記載するとこのようになります。
public String tryCatchTest(){
String nullString = null;
try{
System.out.println("do try");
//NullPointerException
nullString.toString();
return "return try";
}catch(Exception e){
System.out.println("do catch");
return "return catch";
}finally{
System.out.println("do finally");
}
}
上記コードを実行すると、次のようなコンソール出力になります。
do try do catch do finally return catch
finallyはファイルをクローズするときによく使われました。ファイルをオープンしたらクローズする必要がありますが、処理中にExceptionが発生して処理が終了してしまうとクローズ出来ないことがあるためです。
Java7以降ではtry-with-resourcesという便利な機能があるので、あまり使われなくなっています。
Javaでtry-catch文を使う方法
tryはこのように書きます。
try {
処理
} catch (Exception e) {
例外処理
}
例...
finalize
finalizeはメソッドです。ガベージコレクション実行時に呼び出されます。しかし、Java9で非推奨(@Deprecated)になりました。
これは「ガベージコレクションはプログラマに意識させないようにする」というJavaの思想に基づくものとも考えられます。
Java コンストラクタ/デストラクタとガベージ・コレクションの関係
Javaのコンストラクタとデストラクタ(的なもの)の紹介をします。
デストラクタを理解するにあたり、Javaのガベージ・コレクションの...