Эта инструкция покзывает начало части обслуживания ошибки функции или процедуры.
Часть catch выполняется, когда возбуждается ошибка между началом выполнения функции и окончанием. Эта ошибка может возбуждаться самой функцией или любой другой функцией, вызываемой в процессе ее выполнения, обеспечивая, что эта более глубокая функция не имеет сама catch части : чем глубже catch часть, тем выше ее приоритет.
Если ошибка возбуждается в процессе выполнения catch части, это обычно передается. Часть catch не защищает себя !
Если есть finally часть в функции, она должна предшествовать catch части. См. FINALLY , где больше деталей.
Пример
' Print a file to the screen
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 ' Always executed, even if a error raised
CLOSE #hFile
CATCH ' Executed only if there is an error
PRINT "Cannot print file "; FileName
END
См. также