Compilefile.this.compileThread = new Thread() {
@Override
public void run() {
try {
synchronized (this) {
Application.getDBHandler().setAutoCommit(false);
MIBParserUtils.getDefaultMibsMap();
compileSelectedFiles();
Application.getDBHandler().CommitTrans();
Application.getDBHandler().setAutoCommit(true);
}
}
catch(OutOfMemoryError exp) {
JOptionPane.showMessageDialog(null, "Compilation Stopped.. Insufficient Memory!!!");
CompileMib.this.compileThread.interrupt();
System.gc();
dispose();
NmsLogger.writeDebugLog(exp);
}
finally {
}
}
我试图在一个线程中编译一些文件。UI 选择了 200 多个文件进行编译。在编译期间OutOfMemoryError
由于 Eclipse 中的内存不足而发生。我想停止线程并显示一个消息框并在我的应用程序中处理编译窗口。我写了下面的代码,但它不起作用。我可以捕获异常并处理它,还是有更好的解决方案?