SoapClient 使用 SoapFault 或 Exception 或两者来捕获错误?

发布于 2024-10-15 01:45:24 字数 374 浏览 6 评论 0原文

使用 SoapClent 调用 Web 服务时,以下哪一项更能捕获错误?

try {
  $response = $client->SomeSoapRequest();
}
  catch(SoapFault $e){
}

或者:

try {
  $response = $client->SomeSoapRequest();
}
  catch(SoapFault $e){
}
  catch(Exception $e){
}

另外,我想捕获套接字超时;这是 SoapFault 还是 Exception

谢谢!

Which of the following is better to catch an error when calling a web service using SoapClent?

try {
  $response = $client->SomeSoapRequest();
}
  catch(SoapFault $e){
}

Or:

try {
  $response = $client->SomeSoapRequest();
}
  catch(SoapFault $e){
}
  catch(Exception $e){
}

Also, I want to catch a socket timeout; will this be a SoapFault or an Exception?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沫尐诺 2024-10-22 01:45:24

只需捕获异常即可;这也会捕获 SoapFault。如果需要知道区别,可以检查接收到的对象的类型。 Exception 还将捕获其他非 soapfault 异常,无论如何您都应该这样做。所以,答案是:第二个。

Just catch Exception; this will also catch SoapFault. If you need to know the difference, you can check the type of the object received. Exception will also catch other non-soapfault exceptions, which you should be doing anyway. So, the answer is: the second one.

爱人如己 2024-10-22 01:45:24

您可以在这个类似的问题中找到一些答案。

you can find some answers at this similar question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文