Criar exceções
Dica publicada em Java / Introdução
Criar exceções
Assim como qualquer objeto, em java também é possível criar suas próprias exceções.
Imagine um cenário que nenhuma exceção existente faça sentido para ser lançada por você. Por exemplo imagine que por algum motivo você precisa que uma exceção seja lançada quando a letra "A" ou "a" não existe em determinada frase, como não existe nenhuma exceção específica para este caso será necessário criar uma exceção.
Toda exceção criada deve estender Exception, neste exemplo foi sobrescrito o método getMessage(), que é exibida no prompt toda vez que a exceção é lançada.
Quando no programa acima fosse executada uma exceção do tipo SemLetraAException() será mostrada a saída abaixo, exibida no prompt:
Exception in thread "main" SemLetraAException: Não existe letra A em sua frase
at TesteExcecao.main(TesteExcecao.java:8)
Fonte:
http://maguscode.blogspot.com
Imagine um cenário que nenhuma exceção existente faça sentido para ser lançada por você. Por exemplo imagine que por algum motivo você precisa que uma exceção seja lançada quando a letra "A" ou "a" não existe em determinada frase, como não existe nenhuma exceção específica para este caso será necessário criar uma exceção.
Criando uma exceção para ser lançada toda vez que uma letra "A" ou "a" não é encontrada em uma determinada frase
public class SemLetraAException extends Exception {
@Override
public String getMessage() {
return "Não existe letra A em sua frase";
}
}
@Override
public String getMessage() {
return "Não existe letra A em sua frase";
}
}
Toda exceção criada deve estender Exception, neste exemplo foi sobrescrito o método getMessage(), que é exibida no prompt toda vez que a exceção é lançada.
Utilizando a exceção
Abaixo segue um exemplo onde é utilizado a exceção criada acima:
public class TesteExcecao {
public static void main(String args[]) throws SemLetraAException {
String frase = "Sou um teste!";
if(!frase.contains("a") || !frase.contains("A"))
throw new SemLetraAException();
}
}
public static void main(String args[]) throws SemLetraAException {
String frase = "Sou um teste!";
if(!frase.contains("a") || !frase.contains("A"))
throw new SemLetraAException();
}
}
Quando no programa acima fosse executada uma exceção do tipo SemLetraAException() será mostrada a saída abaixo, exibida no prompt:
Exception in thread "main" SemLetraAException: Não existe letra A em sua frase
at TesteExcecao.main(TesteExcecao.java:8)
Fonte:
http://maguscode.blogspot.com