CATCH

SUB Function ( ... ) ... CATCH ... END

Diese Anweisung bezeichnet den Beginn einer Fehlerbehandlungsroutine in einer Funktion oder Prozedur.

Dieser Fehlerbehandlungsteil wird ausgeführt, wenn ein Fehler zwischen dem Start der Funktion und ihrem Ende auftritt. Dieser Fehler kann von der Funktion selbst ausgelöst werden oder von einer anderen Funktion, die während ihrer Ausführung aufgerufen wird, vorausgesetzt diese tiefere Funktion hat nicht selbst einen Fehlerbehandlungsteil: je tiefer die Fehlerbehandlungsroutine auftaucht, desto höher ist ihre Priorität.

Wenn ein Fehler während der Ausführung der Fehlerbehandlung auftaucht, wird er normal weitergeleitet. Die Fehlerbehandlung kann sich nicht selbst schützen!

Wenn die Funktion einen FINALLY-Abschnitt haben soll, muss dieser dem CATCH-Abschnitt vorangehen. Weitere Informationen unter FINALLY.

Examples

' Datei auf den Bildschirm schreiben

SUB PrintFile(FileName AS STRING)

  DIM hFile AS File
  DIM sLig AS STRING

  OPEN FileName FOR READ AS #hFile

  WHILE NOT EOF(hFile)
    LINE INPUT #hFile, sLig
    PRINT sLig
  WEND

FINALLY ' Wird immer ausgeführt, auch wenn ein Fehler auftauchte

  CLOSE #hFile

CATCH ' Wird nur ausgeführt, wenn ein Fehler auftaucht

  PRINT "Kann die Datei nicht ausgeben "; FileName

END

Siehe auch