CATCH
SUB Function ( ... )
...
CATCH
...
END
Esta instrução indica o início da parte de gerenciamento de erros de uma função ou procedimento.
A parte
catch é executada quando um erro é gerado entre o início e o final da execução da função. Este erro pode ser gerado pela própria função, ou por qualquer outra função chamada durante sua execução, desde que esta função interna não tem uma própria parte
catch: quanto mais profunda é a parte
catch, maior a sua prioridade.
Se um erro é gerado durante a execução da parte
catch, ele é normalmente propagado. A parte
catch não protege a si mesma!
Se existe uma parte
finally na função, ela deve preceder a parte
catch. Veja
FINALLY para mais detalhes.
Examples
' Imprime um arquivo na tela
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 ' Sempre executada, mesmo se um erro é gerado
CLOSE #hFile
CATCH ' Executada somente de um erro é gerado
PRINT "Não pôde imprimir o arquivo "; FileName
END
Veja também