Error Trapping (terminalError())


I have an application that overrides terminalError() to catch all unhandled exceptions. It is working fine in almost all scenarios. I have one scenario where a component is dragged/dropped on another component. The target component represents a business entity which has been deleted. My drop event code throws an error which terminalError() catches. Stepping through in the debugger shows that the terminalError() implementation is completing as expected yet instead of my custom error window I get the system error notification like this:

Internal error
Please notify the administrator.
Take note of any unsaved data, and click here to continue.

What could cause Vaadin to throw this if I’ve got an implementation of terminalError()?


I’m using Vaadin 6.7.8


There was a fix for drag’n’drop and terminalError in Vaadin 6.7.6. If you are using 6.7.8 it sounds like a similar but different problem. Try looking at where your exception is handled and why it is passed to AbstractApplicationServlet.handleServiceException, which in turn will cause the “Internal Error” message to be shown to the user.

I changed my error handling routine and now it’s not happening. I don’t think I fixed anything, just improved my code such that it’s no longer triggering the problem. So now that it’s working I’m probably not going to investigate it further.