2011-01-10 39 views
0

有没有可能阻止GWT将任何未检查的异常转换为“InvocationException”?Google Web Toolkit:未检查异常的异常转换

例如,在服务器端抛出一个ServletException - GWT正在将此异常转换为InvocationException,并将邮件正文中的ServletException封装为html文本。这是一个正常的行为,但我想防止这种情况。

有没有办法手动控制这种翻译机制?这样我可以捕获ServletException并抛出一个特定的异常,而不是抛出一个不确定的InvocationException。

(我使用GWT 2.0)

欢呼

回答

1

不,unchecked异常都没有序列号,并发送到客户端(浏览器)。没有办法让每个可能的异常都是可序列化的,因为编译器不知道可能抛出的所有可能的异常,以便为它们创建JavaScript代码。

您应该在服务器端记录您的异常并向客户端发送错误代码。如果你在客户端需要堆栈跟踪(这意味着在用户的浏览器中 - 什么是不寻常的),你必须手动序列化它,例如将其记录到StringOutputStream中。