AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Wann sollte man exceptions auslösen?
Thema durchsuchen
Ansicht
Themen-Optionen

Wann sollte man exceptions auslösen?

Ein Thema von Pseudemys Nelsoni · begonnen am 3. Okt 2004 · letzter Beitrag vom 4. Okt 2004
Antwort Antwort
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Wann sollte man exceptions auslösen?

  Alt 3. Okt 2004, 07:42
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..." 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?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Wann sollte man exceptions auslösen?

  Alt 3. Okt 2004, 10:50
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.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Wann sollte man exceptions auslösen?

  Alt 4. Okt 2004, 00:08
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz