gpt4 book ai didi

java - java web服务和远程异常的最佳实践

转载 作者:行者123 更新时间:2023-12-02 08:37:04 24 4
gpt4 key购买 nike

我正在编写一个网络服务。所以我有:

public interface MyService extends Remote
{
public void service1();
}

public class MyServiceImpl implements MyService
{
public void service1() { /* do something that sometimes throws an exception */ }
}

我正在阅读有关RemoteException的内容。我是否应该将 service1() 中的所有代码包装在 try..catch 中,并将任何异常包装在 RemoteException 中?然后我必须对 service2()service3() 等执行此操作。

让调用者(在我的例子中是一个 servlet)来执行此操作是否更好?

到底什么应该包含在远程异常中 - 服务器中发生的所有事情?或者仅处理远程调用过程(反射、序列化等)的异常?

最佳答案

您的代码不应该抛出RemoteException,如果访问远程服务发生错误,它应该为 WS 框架保留。

大多数框架都会捕获Exception,将其包装为 SOAP-Fault,这是客户端通常通过抛出另一个异常以及来自 SOAP-Fault 的错误消息来处理的(请记住客户端可能不是 Java)。

这样做的结果是您应该抛出特定于已发生的故障的异常,让框架发送适当的响应。

关于java - java web服务和远程异常的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com