2011-01-31 39 views
10

使用SoapClent調用Web服務時,以下哪項更好地捕獲錯誤?soapClient使用SoapFault或異常或兩者來捕捉錯誤?

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

或者:

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

另外,我要趕一個套接字超時;這將是一個SoapFaultException

謝謝!

+0

的可能重複的[處理肥皂在PHP超時(http://stackoverflow.com/questions/835184/handling-soap-timeouts-in-php) – Josh 2011-01-31 18:06:43

+0

好的,有一個徽章。 – 2012-12-28 11:24:49

回答

6

只是異常;這也將抓住SoapFault。如果您需要知道差異,可以檢查收到的對象的類型。異常還會捕獲其他非皁質異常,無論如何你應該這樣做。所以,答案是:第二個。