public class MyCustomApplication extends ProjX { private List liErrors = null; public MyCustomApplication(UILauncher pLauncher) throws Throwable { super(pLauncher); } public void handleException(Throwable pThrowable) { if (liErrors == null) { liErrors = new ArrayUtil(); invokeLater(this, "showErrorMessage"); } liErrors.add(pThrowable); } public void showErrorMessage() { String message = ExceptionUtil.getRootCause(liErrors.get(0)).getMessage(); for (IWorkScreen screen : getWorkScreens()) { if (screen instanceof IErrorHandler) { ((IErrorHandler)screen).showErrorMessage(message); } } liErrors = null; } }