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