Skip to main content
Skip table of contents

Raise()

Raise() – Fehler erneut auslösen

Die Funktion löst den letzten Laufzeitfehler erneut aus ("rethrow"). Raise() kann irgendwo innerhalb des Programmblocks 'OnError ... StopSeq' stehen, wobei trotzdem die Ausführung dieses Programmblocks fortgesetzt wird. Die erneute Auslösung des Fehlers erfolgt erst beim Erreichen von 'StopSeq'. Nachfolgende Programmteile werden übersprungen, bis entweder eine außen liegende Fehlerauffangroutine den Fehler erneut behandelt, oder das Programmende erreicht ist. Wird Raise() außerhalb von 'OnError ... StopSeq' ausgeführt, ist diese Funktion undefiniert und hat daher keine Funktion.


ParameterBeschreibung

lThroughBlocks:L

True - der Laufzeitfehler wird auch erneut ausgelöst wenn dieser im OnError-Teil z.b. in einer if-Anweisung verschachtelt ist
Default = False - der Laufzeitfehler wird nur erneut ausgelöst wenn sich raise() direkt im OnError-Teil befindet
Ab Version 8.1 ist der Default = True

Rückgabewert

Keiner

Beispiel

CODE
| x |

startseq,
   startseq,
      WriteLn('Ausgabe 1: Fehler wird ausgelöst'),
      x := 1 / 0,
      WriteLn('Ausgabe 2: Wird nicht mehr angezeigt!'),
   onerror,
      Raise(false),
      WriteLn('Ausgabe 3: Wird angezeigt!'),
   stopseq,
   WriteLn('Ausgabe 4: Wird nicht mehr angezeigt!'),
onerror,
   WriteLn('Ausgabe 5: Wird angezeigt!'),

   if true then
      Raise() // das hat KEINE Wirkung, denn Raise() ist NICHT direkt im onerror Block sondern untergeordnet in einer if-Bedingung
   endif,

stopseq,
WriteLn('Ausgabe 6: Wird angezeigt!'), 
JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.