Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Como tratar NullPointerException?

Erro apresentado: java.lang.NullPointerException: Cannot invoke "java.util.List.size()" because "episodiosTemporada" is null

Aparentemente o problema está na API que não retorna o resultado esperado em determinadas temporadas de determinadas séries (Testei a requisição via postman) . Como posso tratar isso para ao menos apresentar uma mensagem mais amigável ao usuário?

1 resposta
solução!

Oi, Guilherme.

Tudo bem?

Entendo a dúvida com o NullPointerException, vou tentar dar um exemplo com um código. Quando você está lidando com uma possível variável nula, uma boa prática é verificar se ela é nula antes de tentar acessar seus métodos ou propriedades. No seu caso, você pode fazer isso de várias maneiras. Vou te mostrar uma forma simples usando um if para verificar se episodiosTemporada é nulo antes de acessar o método size().

Aqui está um exemplo de como você pode fazer isso:

if (episodiosTemporada != null) {
    int tamanho = episodiosTemporada.size();
    // Continue com sua lógica aqui
} else {
    // Trate o caso em que episodiosTemporada é nulo
    System.out.println("Não foi possível carregar os episódios da temporada. Por favor, tente novamente mais tarde.");
}

Se você estiver usando Java 8 ou superior, também pode utilizar a classe Optional para tratar valores nulos de uma maneira mais elegante:

Optional<List<Episodio>> episodiosTemporadaOptional = Optional.ofNullable(episodiosTemporada);
int tamanho = episodiosTemporadaOptional.map(List::size).orElse(0);

if (tamanho == 0) {
    System.out.println("Não foi possível carregar os episódios da temporada. Por favor, tente novamente mais tarde.");
} else {
    // Continue com sua lógica aqui
}

Essa abordagem com Optional evita o uso direto de verificações nulas e pode tornar o código mais legível.

Espero ter entendido e conseguido ajudar. Qualquer coisa manda aqui de novo. Bons estudos!