lang • catch

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