Java 在Eclipse插件中处理未处理的事件循环异常
我们正在开发一个基于eclipse的产品(这是一个eclipse插件,我们有大约60多个插件项目),我使用log4j作为我的日志框架,并使用它在业务逻辑端记录错误。但我没有找到一种方法来处理Eclipse在UI中出现任何错误时抛出的UI错误,例如:Java 在Eclipse插件中处理未处理的事件循环异常,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我们正在开发一个基于eclipse的产品(这是一个eclipse插件,我们有大约60多个插件项目),我使用log4j作为我的日志框架,并使用它在业务逻辑端记录错误。但我没有找到一种方法来处理Eclipse在UI中出现任何错误时抛出的UI错误,例如: Caused by: org.eclipse.swt.SWTException: Widget is disposed 我说的是这些类型的错误。那么,我该如何处理这个异常,以便我可以登录我们的日志文件,以便能够识别bug呢 我尝试了stackove
Caused by: org.eclipse.swt.SWTException: Widget is disposed
我说的是这些类型的错误。那么,我该如何处理这个异常,以便我可以登录我们的日志文件,以便能够识别bug呢
我尝试了stackoverflow问题,基本上它说覆盖public void eventLoopException(Throwable exception)
fromWorkbenchAdvisor
类
我试过这样,在我们的一个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。有谁能告诉我如何处理这些类型的错误吗?您必须在创建应用程序的
平台ui.createAndRunWorkbench
调用中指定自定义的WorkbenchVisor
。此调用位于application plugin.xml中的
扩展点的
条目中指定的主应用程序类中 你是如何告诉Eclipse使用你的CustomWorkbenchHadvisor的?@greg-449,是的,这就是我怀疑的地方。我应该在什么地方配置它吗?我不知道。您必须在创建应用程序的PlatformUI.createAndRunWorkbench调用中指定它。此调用位于application plugin.xml中扩展点条目中指定的主应用程序类中。@greg-449,您能将其作为应答发布,以便我检查并接受它吗?:)您好,如果我将其作为一个RCP应用程序,它可以工作,但它不适用于插件:(对于非RCP插件,您可以查看是否可以使用org.eclipse.ui.statusHandlers扩展点来定义状态处理程序。