Questão estranha testKiller

Boa noite, galera estudando pelo testKiller achei essa questão que acho que não foi
abordada no livro da Keity.

Sobre o que se trata esses objetos ?! Devo dar uma estudada ou o testkiller está ultrapassado ?!

try {
 ResourceConnection con = resourceFactory.getConnection();
 Results r = con.query("GET INFO FROM CUSTOMER");
info = r.getData();
con.close();
} catch (ResourceException re) {
errorLog.write(re.getMessage());
}
return info;

Grato a todos que ajudarem.

Deve ser algo relacionado com BD. Mas qual o contexto da questão?

Bom, não sei qual o contexto! as opções são essas:

Which is true if a ResourceException is thrown on line 86?

84. try {
85. ResourceConnection con = resourceFactory.getConnection();
86. Results r = con.query("GET INFO FROM CUSTOMER");
87. info = r.getData();
88. con.close();
89. } catch (ResourceException re) {
90. errorLog.write(re.getMessage());
91. }
92. return info;

A. Line 92 will not execute.
B. The connection will not be retrieved in line 85.
C. The resource connection will not be closed on line 88.
D. The enclosing method will throw an exception to its caller.

Nesse caso vc nao vai olhar os objetos criados em relação a BD, vc vai olhar o que ele te perguntou sobre Exceção.

A resposta que esta ai no seu TestKiller é a C?

Isso é a C mesmo… Mas continuo sem entender a questão !!!

Então a questão ta correta :smiley:

uaiii mais não entendi !!

Só ler atentamente a pergunta:

Which is true if a ResourceException is thrown on line 86?

84. try {  
85. ResourceConnection con = resourceFactory.getConnection();  
86. Results r = con.query("GET INFO FROM CUSTOMER");  
87. info = r.getData();  
88. con.close();  
89. } catch (ResourceException re) {  
90. errorLog.write(re.getMessage());  
91. }  
92. return info;  

Observe que na linha 85 é aberta uma conexão. SE uma exceção for lançada na linha 86, a linha 88, que fecha a conexão, não é executada, pois cairá direto no catch.

È simples veja só:

O enunciado da questão: "Which is true if a ResourceException is thrown on line 86? "

Ou seja: “Qual opção é verdadeira se um ResourceException for lançada na linha 86”.

Quando a exceção e lançada na linha 86 os codigos das linhas 87 e 88 nao vao ser executados correto?!

Então vai ser executado o catch e o return.

Logo a opçao correta é “C. The resource connection will not be closed on line 88.” Por que con.close nao sera executado.

:roll: opa blz !!!

É esse inglês que me mata :oops: !