# errcatch

"Armadilha" para erros

## Seqüência de Chamamento

    errcatch(n [,'action'] [,'option'])
                errcatch()

## Parâmetros

n

  inteiro

action, option

  strings

## Descrição

`errcatch` fornece uma "ação" (manipulador de erros) quando um erro do tipo `n` ocorre. `n` tem o seguinte significado:

Se `n>0`, `n` é o número do erro a ser apanhado

Se `n<0` todos os erros devem ser apanhados

`action` é um dos seguintes strings:

"pause"

  uma pausa é executada quando se apanha o erro. Esta opção é útil para propósitos de depuramento. Use `whereami()` para obter informações sobre o contexto corrente.

"continue"

  a próxima instrução na função ou em arquivos executáveis é executada, a instrução corrente é ignorada. É possível verificar se um erro ocorreu utilizando a função `iserror` function . Não se esqueça de apagar o erro utilizando a função `errclear` o quanto antes. Esta função é útil para recuperação de erros. Em muitos casos, o uso de `errcatch(n,"continue",..)` pode ser substituído pelo uso da função execstr ou da estrutura de controle try control structure.

"kill"

  modo padrão, todas as funções intermediárias são canceladas e o Scilab retorna ao prompt de nível 0.

"stop"

  interrompe a sessão do Scilab corrente (útil quando o Scilab é chamado por um programa externo).

`option` é o string `'nomessage'` para cancelar mensagens de erro.

Para retornar ao modo padrão, entre `errcatch(-1,"kill")` ou, de modo semelhante, `errcatch(-1)`.`errcatch()` é um equivalente obsoleto a `errcatch(-1)`.

As ações de `errcatch` se aplicm ao contexto corrente de avaliação (function, exec, pause ) e a todos os subníveis. Uma segunda chamada a `errcatch` em um sub-nível esconde a inicial para este sub-nível. Se uma segunda chamada a `errcatch` é feita no mesmo nível o efeito da primeira é removido.

Quando chamado no contexto de uma função do Scilab ou em exec o `errcatch` é automaticamente reiniciado quando a função retorna

## Ver Também

- try
- errclear
- iserror
- whereami
- execstr