hi, u think the right way :-)
how did you define your RemoteService methods? have you defined them
to throw exceptions?
GWT RPC works the way that it tries to forward (serialize) caught
exception to the client, if it is able to. that means, that if you
throw a NPE from your service implementation, you dont get 500 code
from the server, rather it would be http 200 (ok) and the exception is
serialized and streamed to the client, where RPC stack detects that
this is an exception and propagates to the onFailure() callback of the
Async implementation.
So the servlet container never guess there went something wrong.
On the other hand - I would not advise to break it, you dont need your
custom error handling for RPC, since you never call them manually
(i.e. by link) but rather over RPC, so a common error.jsp showing up
some warning information to the user would never do its job here,
since a user would never see that page.