phpbar.de logo

Mailinglisten-Archive

[php] Exceptions, was: Re: Übergabe eines Fehlercodes

[php] Exceptions, was: Re: Übergabe eines Fehlercodes

Dr. Volker Goebbels goebbels at gmx.de
Die Jul 12 19:17:03 CEST 2005


Hallo Dennis,

> arbeitest Du mit PHP4 oder mit PHP5?
> Bei PHP5 ist es für mich klar: per Exception.

Exceptions sind ein Paradigma, über das sich vortrefflich
streiten^h^h^h^h^hdiskutieren läßt. Nicht über Sinn oder Unsinn
allgemein, der Sinn steht außer Frage. Nur für die Anwendungsbereiche.

Exceptions sind eine elegante Art, echte Fehler abzufangen.
Rückgabewerte würde ich nicht out of band zurück geben.

Dafür gibt es mehrere Gründe:
- Exceptions sind Objekte, die Fehlerfälle modellieren. Wenn man
  Rückgabewerte damit abbildet heißt das, daß man die gesamte
  Anwendungsdomäne, die man ja schon (hoffentlich) mit Objekten
  modelliert hat, für die False-Fälle noch einmal nachmodelliert.
  Sprich, man baut 2 separate aber analoge Objektbäume. Das
  kann einen erheblichen Aufwand bedeuten.
- Out of band heißt ja, daß sie am Execution Stack quasi vorbei
  schießen, bis sie gecatcht werden. Das kann eine recht
  komplexe Fehlerquelle sein. Und: "Any not catched exception
  should be considered as a bug"

Also für ein "Ihr Username oder Paßword war leider falsch" würde ich
keinesfalls eine Exception verwenden. Für ein "Die Datenbank mit den
Logindaten ist nicht erreichbar" dagegen schon. Aber das ist zum Teil
Geschmackssache ;)

Viele Grüße,
Volker Göbbels
-- 
Dr. Volker Göbbels                                vmg at arachnion.de
Arachnion GmbH & Co. KG                    http://www.arachnion.de
Sandkaulbach 4                           Tel. ++49 (0) 241 5591106
52062 Aachen                              Fax ++49 (0) 241 5591107

php::bar PHP Wiki   -   Listenarchive