? Em certas linguagens de programação , como C + + e Java , uma exceção - abreviação de " evento excepcional " - é um evento que interrompe a execução normal de um programa . " Lançando uma exceção " refere-se a criação de um objeto , conhecido como um objeto de exceção , e passando-o um componente de software conhecido como um sistema de execução que se destina a apoiar a execução de programas de computador. " Pegar uma exceção " refere-se a passar a exceção de um bloco de código , conhecido como um manipulador de exceção , que tenta se recuperar de um acontecimento anormal . Causas de Exceções
modo geral, erros de programação , erros de código do cliente e insuficiência de recursos causar exceções para ser acionada. Normalmente, pouco pode ser feito em relação a erros de programação , pelo menos não em termos de manipulação de exceção, mas se um programa tenta executar alguma operação ilegal, na medida em que a interface de programação de aplicação está em causa um manipulador de exceção pode ser capaz de tomar medidas de recuperação. Da mesma forma , se o sistema ficar sem memória ou uma conexão de rede falhar durante a execução do programa, um manipulador de exceção pode tente novamente a execução depois de um tempo ou registrar a falha e execução parada.
Exception objeto
Um método é um bloco de código que pode ser chamado pelo nome , em qualquer ponto em um programa de computador. Quando ocorre um erro dentro de um método , o código que causou o erro encerra a execução imediatamente , cria um objeto de exceção e passa para o sistema de execução . O objeto de exceção contém o tipo de erro causado eo estado do programa quando o erro ocorreu .
Lançamento de exceções
Exceções podem ser definidos em um dos bibliotecas padrão da linguagem de programação ou definida pelo programador . No primeiro caso, as exceções são lançadas automaticamente pelo sistema , enquanto que no segundo caso as exceções são explicitamente programados usando uma instrução throw , a sintaxe da instrução throw é simplesmente "jogar exceção a objeto :" Se nenhuma maneira razoável de lidar com um erro existe no ponto do programa onde o erro ocorre , muitas vezes faz sentido para um programa de jogar deliberadamente um erro nesse ponto.
Catching Exceções
Após uma exceção é lançada, o sistema de tempo de execução tenta encontrar um bloco de código capaz de lidar com a exceção - em outras palavras, um manipulador de exceção apropriado - na pilha de chamadas . A pilha de chamadas é uma lista dos métodos que o programa chamado até o ponto onde ocorreu o erro na ordem em que foram chamados . Se o sistema de execução encontra um manipulador de exceção apropriado , o controle passa para esse bloco de código . Se não, o sistema de execução eo programa terminar. Se o sistema de execução não encontrar um manipulador de exceção , ele executa o bloco de código para tratar a exceção e continua a executar o resto do programa normalmente.