Einzelnen Beitrag anzeigen

Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#10

Re: try .. except ... oder finally?

  Alt 30. Jun 2005, 19:42
Hallo zusammen,
heiße Diskussion hier...

Zitat von BenBE:
Jeder sagt was, aber keine hat von dem, was er sagt, Ahnung ... Die angesprochenen bitte demnächst erst denken und ansonsten Klappe halten
Da hast du (in diesem Fall) Recht.

Zitat:
Wenn der Konstruktor oder eine Operation mit einem Objekt fehlschlagen kann, so sieht die richtige Verfahrensweise so aus:
Delphi-Quellcode:
try
    Image := TBitmap.Create;
    try
        Image.LoadFromFile(GehtSchief);

        //Bild weiterverarbeiten
    finally
        FreeAndNil(Image);
    end;
except
    ShowMessage('Fehler aufgetreten; interessiert aber eh keinen!');
end;
Ja, hier stimmt's.

Die IMHO bessere Lösung wäre aber diese (falls im except-Block die Prozedur nicht abgebrochen wird):
Delphi-Quellcode:
Image := TBitmap.Create;
try
  Image.LoadFromFile(GehtSchief);
  //Bild weiterverarbeiten
except
  ShowMessage('Fehler aufgetreten; interessiert aber eh keinen!');
end;
FreeAndNil(Image);
Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat