我们正在开发一个基于 eclipse 的产品(它是一个 eclipse 插件,我们有大约 60 多个插件项目),我使用 log4j 作为我的日志框架,并使用它来记录业务逻辑端的错误。但我没有找到一种方法来处理 Eclipse 抛出的 UI 错误,以防 UI 中存在任何错误,例如:
Caused by: org.eclipse.swt.SWTException: Widget is disposed
我正在谈论这些类型的错误。那么我该如何处理这个异常,以便我可以登录我们的日志文件,以便识别错误。
我试过this stackoverflow 问题,基本上它说从 WorkbenchAdvisor
类覆盖 public void eventLoopException(Throwable exception)
。
我在我们的一个 UI 插件项目中尝试过这样的操作:
public class CustomWorkbenchAdvisor extends WorkbenchAdvisor {
@Override
public void eventLoopException(Throwable exception) {
System.out.println("Error occured");
super.eventLoopException(exception);
}
}
我故意创建了 UI 错误,但是当我看到控制台时,我没有看到“发生错误”,而是显示:
!MESSAGE Unhandled event loop exception
带有堆栈跟踪。谁能指导我如何处理这些类型的错误?
最佳答案
您必须指定您定制的WorkbenchAdvisor
在 PlatformUI.createAndRunWorkbench
创建应用程序的调用。此调用位于 <run>
中指定的主应用程序类中。 <application>
的条目应用程序plugin.xml 中的扩展点。
关于java - 处理 Eclipse 插件中未处理的事件循环异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18483694/