当RCP 4应用程序中的顶级异常抛出时,替换默认弹出窗口

时间:2015-12-07 09:57:22

标签: eclipse-rcp rcp e4

如果在RCP 4应用程序中顶级异常抛出时,如何替换默认弹出窗口?

Default error pop-up window

1 个答案:

答案 0 :(得分:0)

您可以在应用程序Eclipse Context中设置实现IEventLoopAdvisor的类。这给出了所有未处理的错误。

类似的东西:

class EventLoopAdvisor implements IEventLoopAdvisor
{
  @Override
  public void eventLoopIdle(final Display display)
  {
    display.sleep();
  }


  @Override
  public void eventLoopException(final Throwable exception)
  {
    // TODO Your code
  }
}

注意:在display.sleep方法中调用eventLoopIdle非常重要。

设置它的好地方是LifeCycle类的@PostContextCreate(如果有的话):

@PostContextCreate
public void postContextCreate(final IEclipseContext context)
{
  context.set(IEventLoopAdvisor.class, new EventLoopAdvisor());
}

注意:IEventLoopAdvisor是一个内部类,所以我通常不会建议使用它,但似乎允许使用它。