Web services 在软件服务中使用包含错误代码的异常或字符串

Web services 在软件服务中使用包含错误代码的异常或字符串,web-services,exception,error-code,Web Services,Exception,Error Code,我们正在为客户的网站创建一个应用程序。该网站将对我们的应用程序进行函数调用,以生成XML数据,我们将以字符串形式返回。如果在处理过程中出现问题,我们应该如何报告此错误?我们应该抛出一个异常以便客户端的网站捕获,还是应该返回一个包含错误代码的字符串(而不是XML数据)?哪种做法有意义和/或更好 提前感谢您对我们的帮助 我认为有两种方法可以做到这一点 在每个Web服务函数的响应元素中包含一个错误字符串元素。如果为空,则表示函数调用成功。如果设置了,则会出现异常,错误字符串会告诉您原因 使用SOAP故

我们正在为客户的网站创建一个应用程序。该网站将对我们的应用程序进行函数调用,以生成XML数据,我们将以字符串形式返回。如果在处理过程中出现问题,我们应该如何报告此错误?我们应该抛出一个异常以便客户端的网站捕获,还是应该返回一个包含错误代码的字符串(而不是XML数据)?哪种做法有意义和/或更好


提前感谢您对我们的帮助

我认为有两种方法可以做到这一点

  • 在每个Web服务函数的响应元素中包含一个错误字符串元素。如果为空,则表示函数调用成功。如果设置了,则会出现异常,错误字符串会告诉您原因
  • 使用SOAP故障元素进行异常处理。我认为每个SOAP工具包都提供了一种填充此元素的方法(例如,看看gSoap框架)

  • 我认为有两种方法可以做到这一点

  • 在每个Web服务函数的响应元素中包含一个错误字符串元素。如果为空,则表示函数调用成功。如果设置了,则会出现异常,错误字符串会告诉您原因
  • 使用SOAP故障元素进行异常处理。我认为每个SOAP工具包都提供了一种填充此元素的方法(例如,看看gSoap框架)

  • 我倾向于说,错误代码几乎总是一个坏主意。异常提供了一个合理的默认错误处理方案:如果您不处理它,您将有效地断言在您的情况下它不会发生。如果你错了,你的程序会很快失败,并显示一条清晰的错误信息。返回代码不提供这样的保证。这里的默认行为是错误被隐藏起来,程序继续运行,就好像什么也没发生一样

    本条规则的例外情况:

  • 如果错误很小,那么像什么都没发生一样继续下去比崩溃要好
  • 在资源非常有限的环境中(即不是服务器),异常可能代价高昂

  • 我倾向于说,错误代码几乎总是一个坏主意。异常提供了一个合理的默认错误处理方案:如果您不处理它,您将有效地断言在您的情况下它不会发生。如果你错了,你的程序会很快失败,并显示一条清晰的错误信息。返回代码不提供这样的保证。这里的默认行为是错误被隐藏起来,程序继续运行,就好像什么也没发生一样

    本条规则的例外情况:

  • 如果错误很小,那么像什么都没发生一样继续下去比崩溃要好
  • 在资源非常有限的环境中(即不是服务器),异常可能代价高昂