Thema: Delphi Abstrakter Fehler oO

Einzelnen Beitrag anzeigen

Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Abstrakter Fehler oO

  Alt 18. Sep 2006, 00:10
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 von Matze:
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.
Also ich arbeite oft mit verschachtelten try..finally-Blöcken, z.B.:
Delphi-Quellcode:
  sl := TStringList.Create;
  try
    //do something
    if sl[0] = 'lad mir ne neue StringListthen
    begin
      sl2 := TStringList.Create;
      try
        // do something
      finally
        FreeAndNil(sl2);
      end;
    end;
  finally
    FreeAndNil(sl);
  end;
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat