CATCH
SUB Function ( ... )
...
CATCH
...
END
This instruction indicates the beginning of the error management part of a function or a procedure.
The catch part is executed when an error is raised between the beginning of the function execution and its end. This error can be raised by the function itself, or by any other function called during its execution, provided that this deeper function has no catch part itself: the deeper the catch part is, the more priority it has.
If an error is raised during the execution of the catch part, it is normally propagated. The catch part does not protect itself!
If there is a finally part in the function, it must precede the catch part. See
FINALLY for more details.
Examples
' Prints a file to the screen
SUB PrintFile(FileName AS STRING)
DIM hFile AS File
DIM sLig AS STRING
hFile = OPEN FileName FOR READ
WHILE NOT EOF(hFile)
LINE INPUT #hFile, sLig
PRINT sLig
WEND
FINALLY ' Always executed, even if a error is raised. Warning: FINALLY must come before CATCH!
CLOSE #hFile
CATCH ' Executed only if there is an error
PRINT "Cannot print file "; FileName
END
See also