AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Verstaendnisfrage: try ... except ... wohin kommt finally?
Thema durchsuchen
Ansicht
Themen-Optionen

Verstaendnisfrage: try ... except ... wohin kommt finally?

Ein Thema von mkmk · begonnen am 19. Dez 2008 · letzter Beitrag vom 20. Dez 2008
Antwort Antwort
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#1

Verstaendnisfrage: try ... except ... wohin kommt finally?

  Alt 19. Dez 2008, 20:52
Guten Abend allerseits

Nach meinem Verstaendnis gehören zu einer Exception 3 Stufen:
Try: man versucht irgendwas zu machen
Catch: man faengt etwaige Fehler auf
Finally: man gibt etwaige Resourcen wieder frei. Wobei 'finally' auf alle Faelle angesprungen wird: ob nun ein Fehler aufgetreten ist oder nicht.

Soweit ich es verstanden habe gibt es in Delphi entweder ein Try-Except oder ein Try-Finally. Aber kein Try-Except-Finally.
Nur: wie macht man diese 3-stufige Exception-Handling in Delphi? Oder habe ich irgendwas komplet missverstanden?

MfG
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 19. Dez 2008, 20:53
Die einzige Möglichkeit, die ich kenne, ist folgende:
Delphi-Quellcode:
try
  try
    Do_Sth;
  except
    ...
  end;
finally
  ...
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 19. Dez 2008, 21:07
in Delphi gibt es folgende Varianten:
Delphi-Quellcode:
try
  //kritischer Code
finally
  //wird immer ausgeführt
end;
//wird nur ausgeführt wenn kein Fehler auftrat
Delphi-Quellcode:
try
  //kritischer Code
except
  //wird nur ausgeführt wenn ein Fehler auftrat
end;
//wird immer ausgeführt
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#4

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 19. Dez 2008, 21:17
@SirThornberry

Okay, wenn das die Regeln sind: ich kann mich daran gewöhnen. Ich war nur etwas verunsichert und war der Meinung, etwas komplett misverstaden zu haben.

Aber die Lösung von NamenLozer ist nicht schlecht. Werde sie mal bei Gelegenheit austesten.

Allen einen schönen Abend.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 19. Dez 2008, 21:19
wie sieht das von dir beschriebene try-catch-finally aus? wird das außerhalb des Blockes nie ausgeführt? oder nur wenn kein Fehler auftritt? Und wie müsste man mit try-catch-finally das ganze bauen damit das außerhalb des Blockes immer ausgeführt wird?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 19. Dez 2008, 21:28
Die Regel, dass Code nach einem Except-Abschnitt immer ausgeführt wird, gilt nur, wenn keine Exception-Filter verwendet werden. Ich halte es für fatal, dass die meisten Delphi-Programmierer diese normalerweise nicht verwenden. Ich finde, dass man sich in dieser Hinsicht eine Scheibe von Java abschneiden sollte: Dort fängt man normalerweise nur von Exception abgeleitete Klassen. Exceptions wie OutOfMemoryError oder StackOverflowError sind davon nicht berührt.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
khh

Registriert seit: 18. Apr 2008
Ort: Südbaden
1.903 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Verstaendnisfrage: try ... except ... wohin kommt finall

  Alt 20. Dez 2008, 06:47
Zitat von mkmk:
@SirThornberry

Okay, wenn das die Regeln sind: ich kann mich daran gewöhnen. Ich war nur etwas verunsichert und war der Meinung, etwas komplett misverstaden zu haben.

Aber die Lösung von NamenLozer ist nicht schlecht. Werde sie mal bei Gelegenheit austesten.

Allen einen schönen Abend.

diese Lösung ist so allgemein gebräuchlich.


Gruss KH
Karl-Heinz
  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 23:54 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