是否有可能阻止GWT将任何未经检查的异常转换为“InvocationException”?
例如,在服务器端抛出ServletException - GWT将此异常转换为InvocationException,并将消息体中的ServletException封装为html文本。这是正常的行为,但我想阻止这种情况。
有没有办法手动控制这种翻译机制?所以我可能会捕获ServletException并抛出一个特定的Exception而不是抛出一个非特定的InvocationException。
(我正在使用GWT 2.0)
欢呼声
答案 0 :(得分:1)
不,未经检查的异常未被序列化并发送到客户端(浏览器)。没有办法使每个可能的异常都可序列化,因为编译器不知道为它们创建JavaScript代码可能会抛出的所有可能异常。
您应该在服务器端记录您的异常并将错误代码发送给客户端。如果您需要在客户端进行堆栈跟踪(这意味着在用户的浏览器中 - 这是非常不寻常的),您必须手动将其序列化,例如将其记录到StringOutputStream中。