« Selenium und ExtJs Exceptions Fangen und Werfen - Teil 1 »

Exceptions Fangen und Werfen - Teil 2

2009 4 April

Ein Phänomen welches leider häufiger auftaucht ist das sämtliche Exception gefangen werden und dann als eine bestimmte Exception weiter geschmissen werden. Dadurch geht leider die ursprüngliche Ursache der Exception verloren, was zu großen Verwirrungen führen kann.

class user {
public function save() {
$mail->send();
...
}
}
try{
$user = new User();
$user->setName();
$user->save();
} catch (Exception e) {
throw new UserNotSavedException();
}

Wenn hier jetzt die Mail nicht verschickt werden kann, weil z.B der Mailserver nicht da ist, dann wird trotzdem die UserNotSavedException geschmissen. Dies ist erstens nicht richtig und kann zweitens vor allem wenn es komplexer wird zu sehr verwirrenden Aussagen führen, die ein langes Debuggen erfordern können. Besser wäre es die Exception z.B. so zu behandeln:

try{
$user = new User();
$user->setName();
$user->save();
} catch (UserNotSavedException e) {
echo $e->getMessage();
} catch(MailExeception)){
echo $e->getMessage();
}

So ist immer klar was schief gelaufen ist und man kann entsprechend reagieren.


Bearbeiten
Feed für diesen Eintrag

0 Antworten über Exceptions Fangen und Werfen - Teil 2

    Bisher gibt es keine Kommentare.

Deine Angaben

Die Email Addresse wird nicht veröffentlicht

Dein Kommentar

Torsten Zander


 RSS Feed abonnieren

Twitter  Auf Twitter folgen

Posts

Blogrolls