Objetivos
Criando uma Exception customizada
Para criarmos nossa própria exceção, precisamos declarar uma classe que irá herdar a classe Exception
ou outra classe de exceção desejada como ArithmeticExection, ArrayIndexOutOfBoundException.
Sintaxe 1
modificador_acesso class minha_excecao extends excecao_base
{
//corpo
}
No construtor de nossa exceção customizada, utilizamos um parâmetro para receber uma mensagem de erro
customizada e chamadoss construtor da classe herdada super.
Sintaxe 2
modidficador_acesso class nome_excecao extends excecao_base
{
public nome_excecao(String mensagem_erro)
{
super(mensagem_erro);
}
}
Chamando o construtor da classe que herdamos, podemos utilizar os métodos getMessage,
toString e outros.
Exemplo 1
//MinhaException.java
public class MinhaException extends Exception{
public MinhaException(String mgs){
super(msg);
}
}
//Main.java
public class Main
{
public static void main(String[] args){
try{
throw new MinhaException("MinhaException");
}
catch( MinhaException e ){
e.getMessage();
}
}
}
Saída
MinhaException
Adicionando atributos e métodos
As exceções customizadas aceitam métodos e atributos assim como qualquer outra classe que criamos até agora.
Tudo estudado sobre atributos, métodos e outros é aplicável.
Exemplo 2
//MinhaException.java
public class MinhaException extends Exception{
private int codigo = -1;
public int getCodigoErro(){
return codigo;
}
public MinhaException(int cod, String msg){
super(msg);
codigo = cod;
}
}
//Main.java
public class Main
{
public static void main(String[] args) {
try {
throw new MinhaException(999,"Mensagem customizada");
}
catch( MinhaException e ){
System.out.println(e.getCodigoErro());
System.out.println(e.getMessage());
}
}
}
Saída
999
Mensagem customizada
Exception customizada e throw
Da mesma forma que podemos declarar um método que pode lançar alguma das exceções nativas, o mesmo pode ser feito com
exceções customizadas usando o throws como já visto.
Exemplo 3
//MinhaException.java
public class MinhaException extends Exception{
private int codigo = -1;
public int getCodigoErro(){
return codigo;
}
public MinhaException(int cod, string s){
super(s);
codigo = cod;
}
}
//Main.java
public class Main
{
public static void metodo() throws MinhaException
{
throw new MinhaException(999,"Mensagem de erro");
}
public static void main(String[] args) {
try{
metodo();
}
catch( MinhaException e ){
System.out.println(e.getMessageCustom());
}
}
}
Saída
Mensagem de erro
Histórico de atualizações
- 24/09/2024 - revisão 2 - Correções em descrição de tópicos; outros ajustes
- 08/02/2024 - revisão 1 - correção em navegação e erros gramaticais
- 04/09/2023 - versão inicial
Os cursos oferecidos nesta página são cursos fornecidos por parceiros. Ao comprar um curso clicando
em seu banner, você está ajudando a manter o projeto TutorialDev vivo. Os sites dos cursos parceiros utilizam cookies.