![]() |
Re: Abstrakter Fehler oO
Zitat:
|
Re: Abstrakter Fehler oO
Zitat:
Aber ja, man könnte den Code von mir aus auch so machen, wie Luckie geschrieben hat. |
Re: Abstrakter Fehler oO
Zitat:
Delphi-Quellcode:
die variante mit finally kommt ja dieser gleich:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings; begin sl := TStringList.Create; try sl.LoadFromFile(f); temp := Copy(sl[0], i*6, 5); except temp := ''; end; FreeAndNil(sl); result := temp; end;
Delphi-Quellcode:
function GetId(const f: string; const i: integer): string;
var temp: String; sl: TStrings; begin temp := ''; sl := TStringList.Create; try sl.LoadFromFile(f); temp := Copy(sl[0], i*6, 5); except end; result := temp; FreeAndNil(sl); end; |
Re: Abstrakter Fehler oO
Zitat:
|
Re: Abstrakter Fehler oO
Zitat:
Delphi-Quellcode:
procedure Test;
var i: integer; lList: TList; begin i := 0; lList.Add(@i); // <-- Verhängnisvolle Zeile try ShowMessage('TEST'); finally ShowMessage('FINALLY'); end; end; Habe das gerade eben mal schnell mit TurboDelphi probiert, er kommt nicht zum ShowMessage('FINALLY'); Würde ich die verhängnissvolle Zeile innerhalb des Try Blockes machen schon. |
Re: Abstrakter Fehler oO
Ach so meinst du das. Stimmt, das hatte ich gar nicht bedacht. Aber in jedem Mustercode wird es ohne doppeltes "try" gelöst. Also kann da eigentlich auch nichts passieren.
|
Re: Abstrakter Fehler oO
Natürlich kommt er nur in's finally wenn es vor dem try nicht schon gekracht hat.
D.h. wenn in unserem obigen Beispiel das Erzeugen der StringList fehlschlägt (was eigentlich nicht vorkommen sollte), wird der finally-Teil auch nicht ausgeführt. Zitat:
Delphi-Quellcode:
sl := TStringList.Create;
try //do something if sl[0] = 'lad mir ne neue StringList' then begin sl2 := TStringList.Create; try // do something finally FreeAndNil(sl2); end; end; finally FreeAndNil(sl); end; |
Re: Abstrakter Fehler oO
In dem Fall sollte man das auch, das ist korrekt. ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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 by Thomas Breitkreuz