在Eclipse插件中处理未处理的事件循环异常

时间:2013-08-28 09:08:57

标签: java eclipse eclipse-plugin

我们正在开发基于eclipse的产品(它是一个eclipse插件,我们有大约60多个插件项目),我使用log4j作为我的日志框架并使用它来记录业务逻辑方面的错误。但是,如果UI中存在任何错误,我找不到处理Eclipse错误的方法,例如:

Caused by: org.eclipse.swt.SWTException: Widget is disposed

我在谈论这些类型的错误。那么我该如何处理这个异常,以便我可以登录我们的日志文件,以便识别错误。

我尝试了this stackoverflow问题,基本上它表示来自public void eventLoopException(Throwable exception)类的覆盖WorkbenchAdvisor

我在我们的一个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

使用stacktrace。任何人都可以指导我如何处理这些类型的错误?

1 个答案:

答案 0 :(得分:0)

您必须在创建应用程序的WorkbenchAdvisor调用中指定自定义PlatformUI.createAndRunWorkbench。此调用位于应用程序plugin.xml中<run>扩展点的<application>条目中指定的主应用程序类中。