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のガベージ・コレクションの...