T-Rex: Wann wirft man eine Exception

Beitrag lesen

Moin,

Tjo Frage steht ja schon im topic. Um möglichst vielen Missverständnissen vorzubeugen hier vielleicht noch ein Beispiel.

Hab da ein Objekt. Dieses Objekt verwaltet einen Datensatz. Es gibt bei diesem Objekt unter anderem eine Methode "delete". Diese Löscht den Datensatz in der Datenbank. Die Methode braucht zwingend den Tabellenname. Es gibt 3 "Fehlerfälle":
1. Tabellenname ist nicht bekannt -> Exception
2. Es gibt keinen Primärschlüssel -> return false (Löschen war also nicht erfolgreich)
3. Datensatz wurde bereits gelöscht -> return true (Löschen war bereits erfolgreich)

Ich streite gerade mit mir selbst wieso ich nicht bei 1,2 und 3 einfach Exceptions werfe. Da ist eine kleine Stimme und die sagt dass alles was die Methode nicht mit Erfolg beendet, sprich das die Methode ihre Arbeit erledigt, mit einer Exception quittiert werden sollte. Die etwas lautere Stimme sagt, dass nur eine Exception geworfen werden sollte, wenn es "Technisch" unmöglich ist, dass die Methode ausgeführt wird, was eben nur dann eintritt, wenn der Tabellenname nicht bekannt ist.

Gibt es vielleicht irgendeine Regel wann man Exceptions werfen sollte?

Gruß
der etwas kränkelnde und deshalb gramatikalisch schwer zu verstehende
T-Rex