以下のコードに関するフィードバックが必要です -
public static void main(String[] args) {
try {
throw new OutOfMemoryError();
} catch (Exception e) {
System.out.println("Inside catch");
} catch (Throwable t){
System.out.println("Inside catch throwable");
}finally {
System.out.println("Inside finally");
}
}
ここでは、try 句から (new 演算子を使用して) OutOfMemoryError オブジェクトをスローし、Throwable オブジェクトをキャッチしています。そのため、「インサイド キャッチ スロー可能」と「インサイド ファイナル」という出力が得られます。しかし、OutofMemError をスローしているので、コードを終了するべきではありません (つまり、Throwable & finally に移動せずに) ? 実際の実用的なプロジェクトでは、OutOfMemoryError が発生した場合、アプリケーションは終了するだけです...なぜこの違いがあるのでしょうか?