AGB  ·  Datenschutz  ·  Impressum  







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

Geht auch try...finally....except?

Ein Thema von gerrit.lober · begonnen am 20. Apr 2005 · letzter Beitrag vom 20. Apr 2005
Antwort Antwort
Seite 1 von 3  1 23      
gerrit.lober

Registriert seit: 1. Apr 2005
Ort: Apelern
9 Beiträge
 
#1

Geht auch try...finally....except?

  Alt 20. Apr 2005, 14:55
Hallo,

ich habe einen try...except...-Block und möchte nun noch finally einfügen,
funktioniert das?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 14:57
Nicht direkt, aber schachteln geht immer:
Delphi-Quellcode:
try
  try
  finally
  end;
except
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 14:57
jein!!

zb

Delphi-Quellcode:
try
  myObj := TMyObj.create;
  try
    ....
  finally
    myObj.free;
  end;
except
  HandleException;
end;
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.607 Beiträge
 
#4

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 15:29
Erm. Soltte das nicht andersrum geschachtelt werden?

Also sorum:
Delphi-Quellcode:
try
   try
      // tu was
   except
     // behandle Fehler
   end;
finally
   // aufräumen
end;
Weil andersrum würde er in den Except ja gar nicht mehr reinlaufen, wenn der nicht weitergeraised würde.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#5

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 15:37
Hi.

Moment... Wenn die Exception nicht weitergeraised wird, ist

Delphi-Quellcode:
try
  {...1}
  try
  except
  end;
finally
  {...2}
end;
dann nicht das selbe wie

Delphi-Quellcode:
{...1}
try
except
end;
{...2}
(Mal abgesehen, dass try...finally und try...except die Programmausführung verlangsamen und die 2. methode somit schneller ist...)
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#6

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 15:40
nein

wenn in 1 ein fehler kommt wird 2 nicht mehr ausgeführt (bei der 2ten methode)

EDIT:
dasselbe wäre das:
Delphi-Quellcode:
try
{...1} 
except
end;
{...2}
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#7

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 15:43
Zitat von Waldteufel:
(Mal abgesehen, dass try...finally und try...except die Programmausführung verlangsamen und die 2. methode somit schneller ist...)
Egal ob es langsamer ist oder nicht, das bemerkt der Endbenutzer in 99% der Faelle sowieso nicht. Mit try-finally verhinderst du auf alle Faelle Speicherlecks etc.

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 15:43
selbstverständlich würde das except die Exception kriegen, ...gehen würd auch

Delphi-Quellcode:
try
 myObject := TMyObject.Create;
 try
  try
    myObject.FirstProcedure();
  except
    MachWas;
    raise;
  end;
  ...
  try
    myObject.OtherProcedure();
  except
    MachWas;
  end;
 finally
  myObject.Free;
 end;
except
  HandleException;
end;
..bei dem Beispiel würde bei einer Exception bei FirstProcedure diese behandelt
und weitergegeben ducrh das raise;
..bei einer Exception bei OtherProcedure würde dieser in dem ihn umgebenden except
behandelt aber zum äusseren except nicht weitergegeben..

es kommt immer auf deine Bedürnisse an, aber die Verschachtelung geht immer


mfg
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Benutzerbild von Speedmaster
Speedmaster

Registriert seit: 4. Mär 2005
Ort: Karlsruhe
535 Beiträge
 
Delphi 2005 Personal
 
#9

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 16:00
Wie ist das eigenltich verlangsamt sich das Programm auch( sehr ) wenn ich eine Programmumfassende try..except..end Anweisung Einfüge?
Felix K.
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Geht auch try...finally....except?

  Alt 20. Apr 2005, 16:02
Programmumfassend? Wie meinst du das?
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14:44 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