![]() |
Wann sollte man exceptions auslösen?
hi,
ich frage mich gerade wann man eine exception aus einer klasse heraus auslösen sollte. sollte man schon bei jeder if abfrage die fehlschlägt eine auslösen? dann ist nachher abber die hälfte des codes "raise..." :roll: z.b wenn ich folgende prüfungen hätte:
Delphi-Quellcode:
if not assigned(irgendwas) then
raise TMyException.Create('irgendwas wurde nicht zugewiesen'); if not record.blubb(user) then raise TMyException.CreateFmt('User %s existiert nicht', [user]); if not record.blubb2(passwort) then raise TMyException.Create('falsches passwort'); so kann das ja kaum richtig sein alles oder? also wie macht ihr das mit den exceptions und vorallem wann? |
Re: Wann sollte man exceptions auslösen?
Exception löst man aus, wenn man ein Ereignis innerhalb der Klasse selbst nicht lösen kann.
In Deinem Beispiel würde ich das nicht machen: Passwort falsch oder Nutzername nicht existent sind beides Dinge die ich handlen kann: Erneut abfragen. Sowas gibt man über ein Ergebnis zurück. Eine Regel für das Auslösen von Exceptions gibt es wohl nicht, aber in Deinem Beispiel würde ich beispielsweise eine auslösen, wenn die Klasse keine Datenbankverbindung hat obwohl das eine Voraussetzung für das Funktionieren der Klasse ist. |
Re: Wann sollte man exceptions auslösen?
Moin!
Und für deine erste Abfrage wäre vielleicht aucht eine Assertion angebracht, wenn du im Normalfall davon ausgehen kannst, dass die Instanz vorhanden ist. MfG Muetze1 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz