Questão estranha testKiller

9 respostas
Gustavo_Santos

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.

9 Respostas

yastorm

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

Gustavo_Santos

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.

evertonsilvagomesjav

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?

Gustavo_Santos

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

evertonsilvagomesjav

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

Gustavo_Santos

uaiii mais não entendi !!

yastorm

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.

evertonsilvagomesjav

È 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.

Gustavo_Santos

:roll: opa blz !!!

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

Criado 11 de setembro de 2010
Ultima resposta 12 de set. de 2010
Respostas 9
Participantes 3