PHP에서 사용자 정의 SoapFaults를 catch 할 수 있는지 궁금합니다. PHP의 사용자 정의 SoapFault
class UAC_ValidationFault extends SoapFault{
public function __construct($code, $message){
parent::__construct($code, $message);
}
}
그래서 내 웹 서비스에서 나는 오류 이런 식으로 던져
: 나는 코드 작업이 조각 얻을 수없는 나는이 오류를 잡을 때throw new UAC_ValidationFault("666", "Test error");
을, 나는 클래스 이름을 알고 싶어요 사용자 정의 오류가 있지만 항상 "SoapFault"입니다.
try{
$return = $client->testErrorThrow('bogus'); // $client is SoapClient instance
print_r($return);
}
catch(UAC_ValidationFault $e){
var_dump(get_class($e)); // isn't catched
}
catch(Exception $e){
var_dump(get_class($e)); // returns "SoapFault"
}
제안 사항?
기억이 안나지만,'$ e' 예외 객체에서'print_r' 또는'var_dump'를 수행하면 더 많은 정보를 얻을 수 있다고 생각합니다. 그런 다음 오류 코드 ('$ code')를 사용하여 아마도 오류가 발생한 곳을 찾아 낼 수 있습니다. – Treffynnon
알아요,하지만 던져진 오류의 var_dump/print_r에있는 "UAC_ValidationFault"에 대한 언급이 없습니다. 마치 PHP가 원래의 SoapFaults를 던지고 싶어하는 것과 같습니다. – ibram