SoapClient использует SoapFault или Exception или оба, чтобы поймать ошибку?

Какое из следующего лучше поймать ошибку при вызове веб-службы с помощью SoapClent?

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

Или:

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

Кроме того, я хочу поймать тайм-аут сокета; будет ли это SoapFault или Exception?

Спасибо!

Ответ 1

Просто поймайте Исключение; это также поймает SoapFault. Если вам нужно знать разницу, вы можете проверить тип получаемого объекта. Исключение также поймает другие исключения, не связанные с мылом, которые вы должны делать в любом случае. Итак, ответ: второй.

Ответ 2

вы можете найти ответы на этот похожий question.