Thema: Delphi Frage zu mehreren Try's

Einzelnen Beitrag anzeigen

Benutzerbild von Stefan Hueg
Stefan Hueg

Registriert seit: 13. Jun 2004
Ort: Gießen
187 Beiträge
 
Delphi 2006 Professional
 
#1

Frage zu mehreren Try's

  Alt 20. Jun 2006, 17:06
Ich stehe nun vor folgendem Problem, konnte bisher keine befriedigende Antwort dazu finden.

Szenario:
Ich will eine Ini-Datei öffnen, aus ihr irgendwas lesen und diese dann wieder freigeben. Falls währenddessen irgend ein Fehler auftritt soll eine Fehlermeldung ausgegeben werden.

Nun, eigtl. nicht schwierig. Aber es gibt mehrere Lösungsansätze und ich würde gerne wissen welcher der eleganteste bzw. Optimalste ist.

Beispiel 1:
Delphi-Quellcode:
procedure LoadIni(Filename: String);
var
  FileSettings: TIniFile;
  Test: String;
begin
  try
    try
      FileSettings := TIniFile.Create(Filename);
      Test := FileSettings.ReadString('Test', 'Test', 'Test');
    except on E: Exception do
      ShowMessage('Fehler');
    end;
  finally
    FileSettings.Free;
  end;
end;
Beispiel 2:
Delphi-Quellcode:
procedure LoadIni(Filename: String);
var
  FileSettings: TIniFile;
  Test: String;
begin
  try
    FileSettings := TIniFile.Create(Filename);
    Test := FileSettings.ReadString('Test', 'Test', 'Test');
    FileSettings.Free;
  except on E: Exception do begin
    ShowMessage('Fehler');
    FileSettings.Free;
  end;
  end;
end;
Mein Problem dabei ist dass ich nicht weiss ob man einfach so mehrere Try's schachteln kann. Habe irgendwo mal gelesen dass der Compiler für jeden Codeblock bei einem Try quasi einen "Ausweichcode" für den Fehlerfall anlegt, und das währen ja dann mehrere.

Die zweite Möglichkeit ist weit weniger elegant. Bitte klärt mich auf ^^
Stefan Hueg
  Mit Zitat antworten Zitat