Zend Framework 2 – Exception fangen

Klingt trivial, ist es auch, aber man muss es halt doch mal wissen. Zend Framework baut sich sein ganz eigenes Errorhandling und als ich versuchte, eine Exception mit try und catch(Exception $e) aufzufangen, bewirkte das genau gar nichts. Warum? Man muss catch(\Exception $e) schreiben. Konkret versuchte ich mich an einer IMAP Verbindung zu einem Mailserver:

$mail = new \Zend\Mail\Storage\Imap(array(
    'host'     => 'imap.gmail.com',
    'user'     => 'USERNAME@gmail.com',
    'password' => 'PASSWORD',
    'ssl'      => 'SSL',
    'port'     => 993
));

Wenn die Logindaten nicht stimmen, dann wirft das einen Fehler. Um diesen zu fangen und im Falle falscher Logindaten zu reagieren, fange ich das ganze so auf:

try{
    $mail = new \Zend\Mail\Storage\Imap(array(
        'host'     => 'imap.gmail.com',
        'user'     => 'USERNAME@gmail.com',
        'password' => 'PASSWORD',
        'ssl'      => 'SSL',
        'port'     => 993
    ));
}catch(\Exception $e){
    die("wrong credentials!");
}

Und mit \Exception klappts dann auch im Zend Framework.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.