在 RCP 4 应用程序的顶层抛出异常时替换默认弹出窗口 window
Replace default pop-up window when exception throws on top level in RCP 4 application
当在 RCP 4 应用程序的顶层抛出异常时,如何替换默认弹出窗口 window?
您可以在应用程序 Eclipse 上下文中设置 class 实现 IEventLoopAdvisor
。这是给出所有未处理的错误。
类似于:
class EventLoopAdvisor implements IEventLoopAdvisor
{
@Override
public void eventLoopIdle(final Display display)
{
display.sleep();
}
@Override
public void eventLoopException(final Throwable exception)
{
// TODO Your code
}
}
注意:在eventLoopIdle
方法中调用display.sleep
极其重要
设置它的一个好地方是你的 LifeCycle @PostContextCreate
class(如果你有的话):
@PostContextCreate
public void postContextCreate(final IEclipseContext context)
{
context.set(IEventLoopAdvisor.class, new EventLoopAdvisor());
}
注意:IEventLoopAdvisor
是一个 内部 class 所以通常我不建议使用它,但这种使用似乎是允许的。
当在 RCP 4 应用程序的顶层抛出异常时,如何替换默认弹出窗口 window?
您可以在应用程序 Eclipse 上下文中设置 class 实现 IEventLoopAdvisor
。这是给出所有未处理的错误。
类似于:
class EventLoopAdvisor implements IEventLoopAdvisor
{
@Override
public void eventLoopIdle(final Display display)
{
display.sleep();
}
@Override
public void eventLoopException(final Throwable exception)
{
// TODO Your code
}
}
注意:在eventLoopIdle
方法中调用display.sleep
极其重要
设置它的一个好地方是你的 LifeCycle @PostContextCreate
class(如果你有的话):
@PostContextCreate
public void postContextCreate(final IEclipseContext context)
{
context.set(IEventLoopAdvisor.class, new EventLoopAdvisor());
}
注意:IEventLoopAdvisor
是一个 内部 class 所以通常我不建议使用它,但这种使用似乎是允许的。