1
resposta

Erro em implementar "ErroDeConversaoDeAnoException"

Oi, pessoal. Estou com dificuldades de implementar a Exception "ErroDeConversaoDeAnoException". Podem me ajudar, por favor?
Recebo que o método mensagem() não foi definido.
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
PrincipalComBusca
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Título
Insira aqui a descrição dessa imagem para ajudar na acessibilidade
ErroDeConversaoDeAnoException
Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Ingrid! Como vai?

Parece que você está enfrentando um problema com a implementação da sua exceção personalizada. O erro que você está recebendo indica que o método mensagem() não foi definido. Vamos corrigir isso.

  1. Verifique a Classe de Exceção:

    Certifique-se de que sua classe ErroDeConversaoDeAnoException está assim:

    package br.com.alura.screenmatch.excecao;
    
    public class ErroDeConversaoDeAnoException extends RuntimeException {
        private String mensagem;
    
        public ErroDeConversaoDeAnoException(String mensagem) {
            this.mensagem = mensagem;
        }
    
        @Override
        public String getMessage() {
            return this.mensagem;
        }
    }
    
  2. Uso do Construtor:

    Quando você lança a exceção, não precisa especificar mensagem:. Apenas passe a string diretamente:

    throw new ErroDeConversaoDeAnoException("Não consegui converter o ano porque tem mais de 04 caracteres.");
    
  3. Tratamento da Exceção:

    No seu catch, você já está usando e.getMessage(), que é o método correto para obter a mensagem da exceção.

Revise esses pontos e veja se o problema persiste. Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.