AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wann werfe ich welche Exception?

Offene Frage von "Der schöne Günther"
Ein Thema von Der schöne Günther · begonnen am 22. Mär 2013 · letzter Beitrag vom 6. Jun 2013
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Wann werfe ich welche Exception?

  Alt 22. Mär 2013, 11:10
Hmmm, also wenn dein Code nicht weiterkommt, weil da etwas aufgetaucht ist, was so nicht sein soll/darf, dann gibt man eine Rückmeldung.

Entweder man hat eine function , die als Result diese Rückmeldung liefert oder man wirft eine Exception.

Am besten ist es, für eigene Klassen/Frameworks auch eigene Exception-Klassen zu definieren und in der Dokumentation zu vermerken, wann diese Exceptions geschmissen werden.

BTW: Eine Exception ist eine Ausnahme, erwartet wird sowas idR nicht
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Wann werfe ich welche Exception?

  Alt 22. Mär 2013, 11:51
Es kommt auch auf die Grösse des Projekts an.
Bei kleineren Projekten kann man ohne weiteres Exceptions direkt so auslösen: raise Exception.Create('Fehler beim Laden der Konfiguration'); Da die Anzahl der raise - Anweisungen relativ klein ist, weiss man schon anhand des Fehlertextes wo man suchen muss.

Bei grossen und sehr grossen Anwendungen gibt es so viele Stellen im Sourcecode an denen eine Exception ausgelöst wird, dass man unmöglich alle im Kopf haben kann.
Dann ist es sehr hilfreich wenn man eigene Exception-Klassen einführt (z.B. EImportError, EXmlError, ...).
Diese Exception-Klassen leitet man meist direkt von der Klasse Exception ab, da die anderen in SysUtils definierten Klassen nur recht selten passen.

Bei richtig grossen Anwendungen wird man die (nichtabgefangene) Exception nicht nur anzeigen, sondern man wird Classname und Message der Exception in eine Logdatei schreiben.
Hier zahlt es sich dann aus, wenn man je nach "Bereich" oder Fehlerart eine eigene Exceptionklasse hat und so gleich weiss wo man suchen muss.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Wann werfe ich welche Exception?

  Alt 6. Jun 2013, 12:03
Hallo,

schau dir mal folgende beiden Dokumente an, vielleicht helfen die dir weiter

http://www.nickhodges.com/post/On-th...erarchies.aspx
http://conferences.embarcadero.com/article/32156

Grüße
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.199 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Wann werfe ich welche Exception?

  Alt 6. Jun 2013, 12:06
Danke, vor allem ersteres ist genau, was ich meinte
  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 13:40 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