A linguagem Java é projetada para lidar com erros e outros eventos inesperados , utilizando um conceito de exceção. Quando ocorre um erro , um objeto exceção é gerado e passado ( ou jogado ) até a pilha de chamadas até encontrar um método concebido para lidar com (ou captura ) que exceção. Java vem com dezenas de objetos de exceção , mas os programadores também pode criar o seu próprio . Definindo uma classe de exceção personalizada
exceções personalizadas são definidas da mesma maneira exata como qualquer outra classe Java. A única regra importante é que uma exceção deve estender a classe Exception na biblioteca java.lang . Isso é feito da mesma maneira que qualquer outra classe estende outra . Um exemplo de uma exceção definida pelo usuário seria:
classe MyException estende Exception {
}
Você pode adicionar seus próprios métodos e construtores para a sua classe de exceção , a fim de personalizar para os seus propósitos, mas apenas estendendo a classe base que você vai obter os construtores de exceção padrão e métodos, incluindo a capacidade de definir mensagens de erro.
Jogando uma exceção personalizada
para usar o seu exceção personalizada , você tem que jogá-lo em algum lugar no programa, o mesmo que qualquer outra exceção . Por exemplo , o seguinte exemplo trivial ilustra como lançar uma exceção para impedir que um método de divisão por zero:
divisão public double ( duplo dividendo , divisor duplo ) lança MyException {
if ( divisor == 0) throw new MyException ( " Division by zero tentativa ! ");
retornar dividendo /divisor ;
}
o problema verifica se o divisor é igual a zero . Se for, em seguida, um novo objeto é criado MyException e jogado com uma mensagem de erro apropriada. Seja qual for a parte do programa chamou a função "dividir " seria, então, responsável por decidir como lidar com a exceção.
Por que usar exceções ?
Erro corrente é uma parte crítica de qualquer programa. Mesmo que o trabalho do programador é perfeito, a entrada do usuário , o sistema de arquivos local ea Internet é raramente, ou nunca , perfeito, para que os programas devem estar preparados para lidar com os problemas . Muitas vezes , no entanto , a parte do código , que encontra o problema não é a parte do código mais adequada para lidar com o problema . Uma função que divide um parágrafo de texto em palavras devem , idealmente , não tem que se preocupar se um parágrafo vazio é um erro que exige fechar o programa, um acontecimento estranho que deve ser comunicado ao usuário, ou irrelevante. Exceções permitir que ele para relatar o problema para outras partes do programa que são mais adequadas para corrigi-lo.
Por Exceções Use personalizado?
Java vem com dezenas de exceções Classes pré-definidas , no entanto, por vezes, isso ajuda a ter um conjunto de exceções que melhor se encaixam no problema em questão , de modo que o programa possa mais facilmente reagir a eles . Por exemplo, em vez de genéricos do Java " InvalidArugmentException ", a parte do código responsável pela recuperação de erros pode precisar de saber mais detalhes sobre o problema. Isso poderia ser feito através da divisão da exceção em custom " UnexpectedNullArgumentException " e " OutofRangeException . "