CATCH

CATCH

Эта инструкция покзывает начало части обслуживания ошибки функции или процедуры.

Часть 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


См. также

FINALLY, ERROR, TRY