我正在使用CXF开发网络服务。
但我想知道处理异常的最佳实践是什么?假设我有一个webservice-operation,create(用户用户)。 传入用户是我的用户域类的实例,可以通过调用user.save()
直接由UI团队保存。如果save()由于某种原因失败(例如某些网络连接失败,或者来自用户DTO的某些数据验证错误),Best Practice会如何规定我向客户端提供此例外?
我的意思是:哪种类型的Exception适合?
此异常是否应包含在操作签名中?
public Response createUser(User user);
@WebService
public interface EmpService {
public Response createUser(User user);
}
客户端如何处理此异常?
答案 0 :(得分:0)
我工作的一家公司,拥有近15年的网络服务经验,所以我学到了一些东西。我们只是通过方法中指定的throws
语句来处理异常。如果发生了一些预期的错误,我们只是简单地构造了异常并将其抛出,并指出了某些事情失败的原因。
客户端应该处理服务抛出的所有异常,无论如何他都喜欢这样做。如果您正在开发Web服务,则需要担心如何正确地创建具有适当原因的异常。当发生异常时,客户端无论如何都会看到它。