33 Stimmen

Delphi: Fehler abfangen mit Try Except funktioniert nicht

Frage von Compi | 11.08.2012 um 10:19

Ich möchte in meiner Delphi Anwendung einige mögliche Fehler abfangen, um diese in einem Memo zu speichern um sie hinterher auswerten zu können. Dem Nutzer des Programms soll keine Fehlermeldung angezeigt werden.

Im Internet habe ich gelesen, dass man dies mit Try und Except hinbekommen kann. Ein Try-Except-Block soll verhindern, dass eine Exception-Fehlermeldung angezeigt wird. Allerdings scheint das bei mir nicht zu funktionieren.

Mein Code um das ganze zu testen sieht so aus:

try
  arr[10]:=0;  // 10 liegt außerhalb des Arrays
except
  on E:Exception do memo1.lines.add('Fehler');
end; 

Ich greife auf einen Array außerhalb des Ranges zu und löse damit eine Fehlermeldung aus. Der Fehler soll in das Memo geschrieben werden, stattdessen bekomme ich immer noch die doofe Windows Meldung "Access Violation" angezeigt. Eigentlich soll genau diese doch verhindert werden?! Was mache ich falsch?!

AntwortenPositivNegativDatumStimmen
5Beste Antwort5 Stimmen

Startest du dein Programm aus Delphi heraus oder startest du die EXE außerhalb der IDE?

Ich vermute, dass du die EXE innerhalb der IDE startest, dort werden die Exceptions je nach Einstellungen auch dann angezeigt, wenn Sie außerhalb der IDE unterdrückt werden.

Starte mal die EXE außerhalb von Delphi und teste, ob es so funktioniert.

Nachdem in der Delphi IDE eine Exception aufgetreten ist, kannst du auch mit F9 das Programm weiterlaufen lassen. Dann solltest du auch innerhalb der IDE sehen, wie in das Memo geschrieben wird.

In den Optionen von Delphi kannst du die Exceptions auch deaktivieren, davon rate ich aber ab, da es doch recht hilfreich ist, über Fehler informiert zu werden.
12.08.2012 um 11:57

AntwortenPositiv Negativ
33 Stimmen

Danke für den Hinweis. Genau das war das Problem! Außerhalb von Delphi funktioniert alles wie es soll! Danke.
12.08.2012 um 14:25

Positiv Negativ
Antworten
Antworten

Ähnliche Themen

Delphi: Systemweiter HotKey

Tutorial | 3 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.