Exception handling 正在引发异常或返回值

Exception handling 正在引发异常或返回值,exception-handling,soa,Exception Handling,Soa,我正在面向服务的体系结构中使用另一个服务。我的服务使用另一个服务将数据保存到数据库中。对于我来说,这是一个很好的实践,可以重新显示从save服务中获取的异常,或者我应该捕获异常并将其封装在结果中,然后将结果发送回去 我喜欢用于封装调用结果的结果类型。我不知道您使用的是什么语言或框架,但我使用C#generic typeResult表示调用的结果,它指示结果状态、可选消息、可选结果类型(如t所示)和可选异常实例(因此,如果我在开发或调试场景中,我可以发出原始异常) 从安全角度来看,不允许将异常详细

我正在面向服务的体系结构中使用另一个服务。我的服务使用另一个服务将数据保存到数据库中。对于我来说,这是一个很好的实践,可以重新显示从save服务中获取的异常,或者我应该捕获异常并将其封装在结果中,然后将结果发送回去

我喜欢用于封装调用结果的结果类型。我不知道您使用的是什么语言或框架,但我使用C#generic type
Result
表示调用的结果,它指示结果状态、可选消息、可选结果类型(如
t
所示)和可选异常实例(因此,如果我在开发或调试场景中,我可以发出原始异常)

从安全角度来看,不允许将异常详细信息泄露给启动客户端,因为您可能会无意中暴露有关应用程序内部操作或某个依赖项的敏感信息。此外,这看起来很糟糕,消费者更难处理。如果可能esource可能会失败,您最好将该调用包装在一个try/catch中,并通过您的异常策略路由任何异常并返回一个负面结果,而不是让您的客户机崩溃