Em determinado trecho de código, o sistema realiza a consulta de um dado no banco de dados por meio de alguma propriedade, que possivelmente pode ser um ID desse objeto. Quando o objeto é encontrado, suas informações são recuperadas e o objeto é criado através dessas propriedades.
Considerando essas informações e o conteúdo estudado sobre tratamento de exceções, pode-se afirmar que:
A) a consulta poderá não retornar nenhuma informação, e deve ser implementado a estrutura if-else para capturar esta exceção e criar fluxos alternativos.
B) a consulta poderá não retornar nenhuma informação, o que resultaria em uma referência nula, e ao tentar acessar esta referência, implicaria na exceção NullPointerException caso o sistema tente acessá-la.
C) ao realizar uma consulta no bando de dados, deve-se implementar os blocos try-catch para evitar NullPointerException que poderá ser gerado caso objeto não seja encontrado no banco de dados.
D) a consulta poderá não retornar nenhuma informação, o que resulta em uma referência nula, e ao tentar acessar esta referência, será instanciado um novo objeto com atributos vazios.
E) a consulta sempre retornará um objeto do banco de dados com as informações existentes recuperadas do banco, e por este motivo haverá sempre uma referência não nula.
Soluções para a tarefa
Resposta:
As alternativas corretas são: A, B, C.
Explicação:
Como não é dito no enunciado que devemos considerar corretas as opções que indicam melhores práticas, vamos considerar corretas as opções que descrevem situações que podem ocorrer.
A) É verdadeira, pode-se verificar se o retorno da consulta é nulo ou vazio com um bloco if-else.
B) Se o retorno da consulta for nulo, uma tentativa de acessar o(s) objeto(s) retornados pode causar uma exceção NullPointerException.
C) Uma boa prática para tratar o caso de o retorno da consulta for nulo é usar um bloco try-catch para que a exceção NullPointerException seja tratada.
Uma opção mais recomendável seria combinar as opções A e C, ou seja, verificar se o retorno da consulta é nulo e tratar a possível exceção NullPointerException.
Resposta:
Letra b)
Explicação:
a consulta poderá não retornar nenhuma informação, o que resultaria em uma referência nula, e ao tentar acessar esta referência, implicaria na exceção NullPointerException caso o sistema tente acessá-la.