Exception ignorieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Exception ignorieren

    Hi zusammen,

    Ich habe eine foreach Schleife welche über einen Webservice Request Benutzer löscht. Das klappt auch wenn der Benutzer existiert. Wenn der Benutzer jedoch nicht existiert bekomme ich vom Webservice eine Exception zurück und das Script wird somit abgebrochen. Gaaaanz unschön. Denn - es kann ja sein das der nächste Wert im Array wieder existiert. Ich brauche also die Möglichkeit daß das Script trotz Exception weiter ausgeführt wird. Wie kann ich das anstellen?

    Hier mein PHP Code:

    Quellcode

    1. foreach($file as $email) { $client = new SoapClient("http://DIENST/Service.asmx?WSDL",array("trace" => 1, "exceptions" => 1)); $send->securityToken = $sectoken; $send->destination = $email; $myres = $client->RemoveOutboundUser($send); $res = $myres->RemoveOutboundUserResponse; } }


    Und hier die Fehlermeldung:


    Fatal error: Uncaught SoapFault exception: [soap:Server] OutboundUserNotFoundFault in /var/www/vhosts/venali.org/httpdocs/tools/bulkdel.php:62 Stack trace: #0 [internal function]: SoapClient->__call('RemoveOutboundU...', Array) #1 /var/www/vhosts/venali.org/httpdocs/tools/bulkdel.php(62): SoapClient->RemoveOutboundUser(Object(stdClass)) #2 {main} thrown in /var/www/vhosts/DIENST.org/httpdocs/tools/bulkdel.php on line 62


    Danke vorab für eure Hilfe...

    Grüße,
    Matthias
    Das Leben ist binär - du bist eine 1, oder eine 0
  • Hi,
    willst du die Exception nun behandeln, oder nicht?

    de.php.net/manual/de/function.soap-soapclient-construct.php
    Die Option exceptions (boolean) definiert, ob bei SOAP-Fehlern Exceptions vom Typ SoapFault geworfen werden sollen.


    Wenn du sie behandeln willst, dann mit try/catch

    Quellcode

    1. try {
    2. $x = new SoapClient(...);
    3. } catch(SoapFault $e) {
    4. //handle
    5. }