Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Fehler im Programm abfangen...

  Alt 5. Jan 2009, 08:49
Hallo,

es gibt entweder

Delphi-Quellcode:
try
  // ...
except
  // wird im Fehlerfall ausgeführt
end;
oder

Delphi-Quellcode:
try
  // ...
finally
  // wird immer ausgeführt, ob ein Fehler auftrat oder nicht
  // geeignet um Speicher freizugeben
end;
Was du im Except-Block machst, bleibt dir überlassen. Du könntest dort in eine Log-Datei schreiben, wann was schief gegangen ist, du kannst aber auch einfach eine Meldung ausgeben, dass eine Benutzereingabe fehlerhaft war oder ähnliches. Je nachdem, was du damit bezwecken möchtest.
Den Block leer zu lassen, also den Fehler zu ignorieren, ist jedoch nicht unbedingt empfohlen, da der Anwender wissen sollte, was schief gegangen ist.

Möchtest du beide Blöcke kombinieren, kannst du das so machen:

Delphi-Quellcode:
// Object := TMyObject.Create(...);
try
  // Object.DoSomething;

  // Fehler abfangen
  try
    // Code, indem Fehler auftreten können
  except
    // im Fehlerfall ausführen
  end;
finally
  // FreeAndNil(Object); bzw. Object.Free;
end;
Grüße, Matze
  Mit Zitat antworten Zitat