【发布时间】:2010-12-25 16:57:58
【问题描述】:
我在 Java Web 应用程序中有一个线程导致 java.lang.OutOfMemoryError: Java heap space 异常,但 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 中以调试模式显示在控制台中。
【问题讨论】:
标签: java try-catch out-of-memory