使用包含软件服务中的错误代码的例外或字符串

时间:2010-01-30 18:23:41

标签: web-services exception error-code

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

提前感谢您帮助我们!

2 个答案:

答案 0 :(得分:1)

我认为有两种方法可以做到。

  1. 在每个Web服务功能的响应元素中包含一个错误字符串元素。如果它是空的,那么函数调用是成功的。如果已设置,则会出现异常,并且Error-String会告诉您原因。
  2. 使用SOAP-Fault元素进行异常处理。我认为每个SOAP-Toolkit都提供了一种填充此元素的方法(例如,查看gSoap Framework http://www.cs.fsu.edu/~engelen/soapdoc2.html#tth_sEc11

答案 1 :(得分:0)

我倾向于说错误代码几乎总是一个坏主意。异常提供了一个理智的默认错误处理方案:如果你不处理它,你有效地断言它不会发生在你的情况下。如果您错了,您的程序会快速失败,并显示明确的错误消息。退货代码不提供此类保证。这里的默认行为是错误在地毯下扫描并且程序继续,好像什么也没发生。

此规则的例外情况:

  1. 如果错误很小,那么继续好像没有发生任何事情是一个比崩溃更好的默认值。
  2. 在资源有限的环境(即非服务器)中,例外可能很昂贵。