Geschützte Blöcke definieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Exceptions - Index

Sie treffen Vorkehrungen für Exceptions, indem Sie Anweisungen, die Exceptions auslösen können, in einen try-Block einfügen. Wenn eine dieser Anweisungen eine Exception auslöst, wird die Steuerung an eine Exception-Behandlungsroutine übertragen, die diese Art von Exception behandelt. Die Exception-Behandlungsroutine fängt die Exception ab und legt die aufzuführenden Maßnahmen fest. Durch den Einsatz von try-Blöcken und Exception-Behandlungsroutinen können Sie die Fehlerprüfung und Fehlerbehandlung außerhalb des normalen Programmablaufs implementieren und erhalten somit einfacheren und lesbaren Quelltext.

In Delphi wird ein geschützter Block durch das Schlüsselwort try eingeleitet. Die Exception-Behandlungsroutine muss dem try-Block unmittelbar folgen. Sie wird durch das Schlüsselwort except eingeleitet und kennzeichnet das Ende des try-Blocks. Diese Syntax wird im folgenden Quelltextfragment veranschaulicht. Wenn die Methode SetFieldValue fehlschlägt und eine Exception vom Typ EIntegerRange auslöst, dann wird die Ausführung mit der Exception-Behandlungsroutine fortgesetzt, die eine Fehlermeldung anzeigt. Anschließend wird die Ausführung außerhalb des Blocks fortgesetzt.

 try
   SetFieldValue(dataField, userValue);
 except
   on E: EIntegerRange do
     ShowMessage(Format('Expected value between %d and %d, but got %d',
                        E.Min, E.Max, E.Value));
 end;
 { Hier wird die Ausführung außerhalb des geschützten Blocks fortgesetzt }


Es muss unmittelbar nach dem try-Block der Block für die Exception-Behandlung (siehe Exception-Behandlungsroutinen erstellen) oder ein finally-Block (siehe Beendigungsblöcke) folgen. Exception-Behandlungsblöcke sollten für jede Exception, die durch die Anweisungen im try-Block ausgelöst werden kann, eine Behandlungsroutine enthalten.

Siehe auch