Compartilhar via


Usando Manipuladores de Exceção Filtradas pelo Usuário

Atualmente, o Visual Basic suporta exceções filtradas pelo usuário.Manipuladores de exceção filtradas pelo usuário capturam e tratam exceções com base nos requisitos que você definiu para a exceção.Esses manipuladores utiliza a instrução Catch com a palavra-chave When.

Essa técnica é útil quando uma determinado objeto de exceção corresponde a vários erros.Nesse caso, o objeto normalmente tem uma propriedade que contém o código de erro específico associado ao erro.Você pode usar a propriedade do código de erro na expressão para selecionar apenas o erro específico que você deseja manipular na cláusula Catch.

O seguinte exemplo do Visual Basic ilustra a instrução Catch/When.

Try
      'Try statements.
   Catch When Err = VBErr_ClassLoadException
      'Catch statements.
End Try

A expressão da cláusula filtrada pelo usuário não é restrita de forma alguma.Se ocorrer uma exceção durante a execução da expressão filtrada pelo usuário, essa exceção será descartada e a expressão de filtro é considerada a ser avaliada como False.Nesse caso, o Common Language Runtime continua a procura por um manipulador para a exceção atual.

Combinando a exceção específica e as cláusulas filtradas pelo usuário

Uma instrução catch pode conter tanto a exceção específica e as cláusulas filtradas pelo usuário.O tempo de execução testa primeiro a exceção específica.Se a exceção específica for bem sucedida, o tempo de execução executa o Filtro de usuário.O filtro genérico pode conter uma referência a variável declarada no filtro de classe.Observe que a ordem das duas cláusulas de filtros não pode ser revertida.

O seguinte exemplo do Visual Basic mostra a específica exceção ClassLoadException na instrução Catch, bem como a cláusula filtrada pelo usuário usando a palavra-chave When.

Try
      'Try statements.
   Catch cle As ClassLoadException When cle.IsRecoverable()
      'Catch statements.
End Try

Consulte também

Tarefas

Como: Use o bloco try/catch para interceptar exceções

Como: Usar exceções específicas em um bloco Catch

Conceitos

Práticas recomendadas para tratamento de exceções

Outros recursos

Fundamentos da Manipulação de Exceções