如何在 GWT RPC 中将异常从服务器传递到客户端
Posted
技术标签:
【中文标题】如何在 GWT RPC 中将异常从服务器传递到客户端【英文标题】:How to pass exception from Server to Client side in GWT RPC 【发布时间】:2014-11-21 18:56:50 【问题描述】:我正在使用 GWT 中的 Async 方法创建 RPC 调用。我必须检查我的服务器端是否有任何错误。我可以在 GWT RPC 的客户端捕获服务器端的异常吗?
【问题讨论】:
【参考方案1】:必须在 RemoteService
接口的方法中的 throws
子句中声明异常,并且必须在与任何其他传输类相同的条件下由 GWT-RPC 序列化。
您将在AsyncCallback
的onFailure
中收到异常。另请参阅javadoc for AsyncCallback
。
编辑:实际上,我刚刚说了与文档已经说过的相同的话:http://www.gwtproject.org/doc/latest/DevGuideServerCommunication.html#DevGuideHandlingExceptions
【讨论】:
【参考方案2】:是的,你可以。只需确保您的异常实现了 Serializable:
public class LoginException extends Exception implements Serializable
public LoginException()
【讨论】:
我正在尝试将外部服务器信息拉到 RPC 服务器,然后尝试在我的客户端显示信息。这在这种情况下也有效吗?我是否应该在我的服务器端实现中扩展这个异常类并将其放在 TRY-CATCH 块中以将异常发送到 RPC 的客户端。 如果外部异常是可序列化的,您可以简单地将其抛出到您的 RPC 方法中。如果没有,你可以创建自己的异常,设置你想要的消息,然后抛出它。 ...并在您的 RPC 接口中声明为throws
。没有它,GWT 不知道你想发送它。以上是关于如何在 GWT RPC 中将异常从服务器传递到客户端的主要内容,如果未能解决你的问题,请参考以下文章