AGB  ·  Datenschutz  ·  Impressum  







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

try..finally

Ein Thema von RavenIV · begonnen am 10. Mär 2005 · letzter Beitrag vom 11. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#1

try..finally

  Alt 10. Mär 2005, 14:36
mich würde interessieren, ob es einen unterschied zwischen
Delphi-Quellcode:
try
  begin
    anweisung1;
    anweisung2;
  end;
finally
   anweisung3;
und
Delphi-Quellcode:
try
  anweisung1;
  anweisung2;
finally
   anweisung3;
gibt.

gruessle
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#2

Re: try..finally

  Alt 10. Mär 2005, 14:37
Ich wusste gar nicht, dass begin-end-Anweisungsblöcle bei Ressourcenblöckene erlaubt sind


Das zweite kannst du auf jeden Fall so verwenden, damit hatte ich noch nie Probleme

Das erste ist wohl eher doppelt gemoppelt
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: try..finally

  Alt 10. Mär 2005, 14:39
Zitat von malo:
Ich wusste gar nicht, dass begin-end-Anweisungsblöcle bei Ressourcenblöckene erlaubt sind

auf jeden fall kam keine compiler-meldung...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

Re: try..finally

  Alt 10. Mär 2005, 14:40
Es ist ein try...finally/except...end; - Block.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von malo
malo

Registriert seit: 19. Sep 2004
2.115 Beiträge
 
#5

Re: try..finally

  Alt 10. Mär 2005, 14:43
Zitat von RavenIV:
Zitat von malo:
Ich wusste gar nicht, dass begin-end-Anweisungsblöcle bei Ressourcenblöckene erlaubt sind

auf jeden fall kam keine compiler-meldung...
Naja, lass lieber die begins und ends weg. Damit hast du sicherlich keinen Nachteil und brauchst weniger zu tippen
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: try..finally

  Alt 10. Mär 2005, 14:56
Also wenn schon, dann sollte es der Vollständigkeit halber so heißen:

Delphi-Quellcode:
try
  anweisungsblock1;//wird solange ausgeführt, bis ein Fehler auftritt
finally
   anweisungsblock;//wird anschließend ausgeführt
end;
Scheinbar vergessen hier einge, dass ein try.. finally immer mit end; beendet werden muss.
Achso, zum eigentlichen Thema: der Code zwischen try und finally oder try und except muss nicht noch extra mit begin und end umschlossen werden.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#7

Re: try..finally

  Alt 10. Mär 2005, 15:56
Zitat von Binärbaum:
Also wenn schon, dann sollte es der Vollständigkeit halber so heißen:

Delphi-Quellcode:
try
  anweisungsblock1;//wird solange ausgeführt, bis ein Fehler auftritt
finally
   anweisungsblock;//wird anschließend ausgeführt
end;
Genau. Und bei except anstatt von finally wird der except-block NUR bei einem Fehler ausgeführt.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#8

Re: try..finally

  Alt 10. Mär 2005, 16:38
BEGIN-END kann man überall im Code hinschreiben, wo man Anweisungen hinschreiben kann (und nicht nur da). TRY-Blöcke erfüllen beide Funktionen. Es ist also auch folgendes möglich:

Delphi-Quellcode:
if a then
try
  Anw1;
  Anw2;
except
  Anw3;
end;
Aus diesem Grund ist es völlig gleich, welche der beiden oben genannten Versionen verwendet werden. Ich wäre für das kürzere.

//edit: CODE- durch DELPHI-Tags ersetzt. FAlter
Felix Alter
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: try..finally

  Alt 10. Mär 2005, 17:32
Zitat von FAlter:
BEGIN-END kann man überall im Code hinschreiben, wo man Anweisungen hinschreiben kann (und nicht nur da).
Würde ich aber nicht gerade empfehlen. Die begin-end-Blöcke sollten ja in gewisser Weise auch die Struktur des Codes wiedergeben. Wenn man dann überall dort begin-end hinschreibt, wird das schnell unübersichtlich.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von mr47
mr47

Registriert seit: 6. Dez 2004
Ort: Stuttgart
644 Beiträge
 
Delphi 2005 Personal
 
#10

Re: try..finally

  Alt 10. Mär 2005, 19:10
Zitat von Binärbaum:
Zitat von FAlter:
BEGIN-END kann man überall im Code hinschreiben, wo man Anweisungen hinschreiben kann (und nicht nur da).
Würde ich aber nicht gerade empfehlen. Die begin-end-Blöcke sollten ja in gewisser Weise auch die Struktur des Codes wiedergeben. Wenn man dann überall dort begin-end hinschreibt, wird das schnell unübersichtlich.

MfG
Binärbaum
oder vielleicht auch übersichtlicher! Je nachdem wie man sie anwendet! (Was heißt nicht nur da? Ja ich kann begin...end auf ein blatt papier schreiben )


mfg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:01 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