Boa tarde a todos, em meus estudos me deparei com a questão abaixo, respondi e gostaria de esclarecer com os amigos que também estudam se a minha interpretação está correta, segue o código:
Question 4
4. Given:
31. // some code here
32. try {
33. // some code here
34. } catch (SomeException se) {
35. // some code here
36. } finally {
37. // some code here
38. }
Under which three circumstances will the code on line 37 be executed?
(Choose three.)
A. The instance gets garbage collected.
B. The code on line 33 throws an exception.
C. The code on line 35 throws an exception.
D. The code on line 31 throws an exception.
E. The code on line 33 executes successfully.
Minha resposta:Resposta : A,C,E
Bom, escolhi a letra A porque dentro do finally pode ser usado um código para por exemplo fechar algum recurso ou efetuar limpeza na memória, acho que o termo é esse mesmo, minha segunda opção, a letra C, porque mesmo que o código dentro do catch jogue a exceção para outro método o finally será executado de qualquer forma, e escolhi a letra E porque a execução tendo sucesso o finally também é executado, não escolhi a B porque se uma exceção for jogada neste caso a execução iria para o catch antes de chegar no finally, mas fiquei com duvida, por favor se puderem ajudar agradeço. Grande abraço.