![]() |
Geht auch try...finally....except?
Hallo,
ich habe einen try...except...-Block und möchte nun noch finally einfügen, funktioniert das? |
Re: Geht auch try...finally....except?
Nicht direkt, aber schachteln geht immer:
Delphi-Quellcode:
...:cat:...
try
try finally end; except end; |
Re: Geht auch try...finally....except?
jein!! :mrgreen:
zb
Delphi-Quellcode:
try
myObj := TMyObj.create; try .... finally myObj.free; end; except HandleException; end; |
Re: Geht auch try...finally....except?
Erm. Soltte das nicht andersrum geschachtelt werden?
Also sorum:
Delphi-Quellcode:
Weil andersrum würde er in den Except ja gar nicht mehr reinlaufen, wenn der nicht weitergeraised würde.
try
try // tu was except // behandle Fehler end; finally // aufräumen end; |
Re: Geht auch try...finally....except?
Hi.
Moment... Wenn die Exception nicht weitergeraised wird, ist
Delphi-Quellcode:
dann nicht das selbe wie
try
{...1} try except end; finally {...2} end;
Delphi-Quellcode:
:?: (Mal abgesehen, dass try...finally und try...except die Programmausführung verlangsamen und die 2. methode somit schneller ist...)
{...1}
try except end; {...2} |
Re: Geht auch try...finally....except?
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} |
Re: Geht auch try...finally....except?
Zitat:
Greetz alcaeus |
Re: Geht auch try...finally....except?
selbstverständlich würde das except die Exception kriegen, ...gehen würd auch
Delphi-Quellcode:
..bei dem Beispiel würde bei einer Exception bei FirstProcedure diese behandelt
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; 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 |
Re: Geht auch try...finally....except?
Wie ist das eigenltich verlangsamt sich das Programm auch( sehr ) wenn ich eine Programmumfassende try..except..end Anweisung Einfüge?
|
Re: Geht auch try...finally....except?
Programmumfassend? Wie meinst du das? :gruebel:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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