Índice:
Definição - O que significa Exception Handling?
O tratamento de exceções é um mecanismo no qual uma construção de programação é usada para interceptar, interceptar e manipular consistentemente o erro ocorrido durante a execução do aplicativo. O Common Language Runtime (CLR) do .NET Framework foi projetado para usar um modelo de tratamento de exceções com base em objetos de exceção e blocos de código protegidos.
Os recursos do mecanismo de tratamento de exceções implementados no CLR são os seguintes:
a) Cada idioma pode ter sua própria especificação para lidar com exceções sem nenhuma restrição
b) Exceções são geradas e tratadas independentemente do idioma usado e do tipo de código (gerenciado ou não gerenciado)
c) Exceções podem ser lançadas através dos limites do processo ou da máquina
Techopedia explica o tratamento de exceções
O tempo de execução do .NET lança exceções como objetos derivados da classe System.Exception que contêm detalhes do erro, incluindo mensagem e linha de código onde o erro ocorreu, etc. A construção "try..catch..finally" é usada para manipulação de exceções. Enquanto os blocos "try" (onde as exceções são previstas) e "catch" (onde as exceções são tratadas) são obrigatórios, o bloco "finally" (onde o código é executado em qualquer caso) é opcional.
Quando comparado ao tratamento de erros implementado usando métodos tradicionais - como o uso de código de retorno como nas instruções COM (Component Object Model) e "go to", como no Visual Basic etc. -, os principais benefícios das exceções no .NET são capturar todos falhas, eliminação do processo de verificação do valor de retorno e seu uso (se inválido) em aplicativos, uso em cenários onde não há valor de retorno, como construtores, maior confiabilidade e melhor desempenho.
Embora o Java forneça exceções "verificadas" que ajudem a impedir a incidência de exceções não tratadas durante a compilação, elas não podem ser usadas para erros que são falhas irrecuperáveis. O tratamento de exceções no C ++ difere daquele no .NET por não ter o bloco "final" para limpar recursos e sem nenhuma restrição para o tipo de exceção.