Imagine um método que retorna um inteiro. Marque os problemas de retornar -1 quando um erro acontecer nesse método.
Respuesta
Um numero negativo pode causar erros de cálculo
Não ser claro que esse retorno significa um erro para quem invoca o método
-1 pode ser um retorno válido dependendo dos parâmetros
Um número próximo de 0 pode ser um problema em divisões
Pregunta 2
Pregunta
As exceções que não precisam ser tratadas são subclasses de:
Respuesta
Exception
RuntimeException
SuperficialException
NonCriticalError
Pregunta 3
Pregunta
Considere um método onde uma exceção pode ser lançada. Como esse método pode lidar com o potencial lançamento dessa exceção?
Respuesta
Com blocos try/catch
Utilizando um bloco finally
Declarando com a cláusula throws na assinatura do método
Com um comando condicional "if"
Pregunta 4
Pregunta
Considere o seguinte código:
try{
a();
b();
c();
}catch(Exception e){
d();
}
Se ocorrer uma exceção em b(), quais métodos e em que ordem eles serão executados?
Respuesta
a(), b(), d(), c()
a(), b(), c(), d()
a(), b(), d()
a(), b()
a(), b(), c()
Pregunta 5
Pregunta
Que informações você pode encontrar lendo o stack trace de uma exceção?
Respuesta
Mensagem do erro
Valor das variáveis no momento do erro
Classe da exceção
Pilha de execução dos métodos no momento que a exceção foi criada
Parâmetros passados para os métodos
Pregunta 6
Pregunta
Imagine que você queira fazer um teste que verifique se uma exceção ocorre durante a execução do método de teste. Qual atributo posso colocar na anotação @Test para dizer a exceção que espero que aconteça?
Respuesta
expect
expected
except
excepted
Pregunta 7
Pregunta
Considere o código a seguir de um teste que precisa verificar se uma exceção ocorre e o conteúdo da mensagem de erro.
@Test
public void testeErro(){
try{
instancia.metodo();
????
}catch(Exception e){
assertEquals(MENSAGEM_ESPERADA, e.getMessage());
}
}
Que comando precisa ser colocado na linha de código com ???? para que o teste verifique que a exceção realmente ocorreu em instancia.metodo()?