Java Webアプリケーションにjava.lang.OutOfMemoryError:Javaヒープスペース例外を引き起こすスレッドがありますが、try/catchブロックがエラーをキャッチしません。
サンプルコード:
private void doSomeWork()
{
try
{
processData(); //Causes OutOfMemoryError
System.out.println("This line does not execute");
}
catch (Exception e)
{
System.out.println("Exception. This line does not execute.");
//Log error
}
finally
{
System.out.println("finally. This line does execute");
System.out.println("Thread name: " + Thread.currentThread().getName());
}
}
出力:
ついに。この行は実行されます スレッド名:_Worker-8 スレッド"_Worker-8"の例外java.lang.OutOfMemoryError:Javaヒープスペース ..。
バックグラウンド:
私は最近このJavaプロジェクトを引き継ぎ、Javaとこのプロジェクトに慣れるつもりです。私はC#開発者なので、このプロジェクトやJavaにはまだ慣れていません。-Xmx設定を使用してエラーを修正できることはわかっていますが、ログに記録できるように、このエラーをキャッチすることに関心があります。エラーはどのログファイルにも表示されず、出力はEclipseのデバッグモードでコンソールに表示されます。