Tratamento de erros [RESOLVIDO]

Ola,

Estou estudando sobre try, catch e entendi como se usa. Mas não entendi a finalidade do finally. Poderia ser em um sistema quem tem aqueles captcha pra fazer um download, se digitar algo invalido, no bloco finally uma variavel acrescenta 1 nela mesma e se chegar a 3 é impossivel fazer o download?

Não importa oque aconteça, o finally sempre vai ser executado independente do cenário, por exemplo quando vc tenta fechar uma conexão com o banco ou fazer qualquer outro tratamento de exceção no catch e isso gera outra exceção, sobra o finaly pra vc pelo menos mostrar uma mensagem pro usuário.

correto. peguei uma prova do meu prof do ano passado e fui tentar fazer essas perguntas

[2.5 pontos] Responda as seguintes perguntas (justificando suas respostas)
a) [0.7] Se nenhuma exceção é lançada em um bloco try, onde o controle (execução) prossegue
quando o bloco try completa sua execução?
b) [0.6] Como um bloco finally se encaixa nesta situação?
c) [0.6] Qual é a razão-chave para a utilização de blocos finally?
d) [0.6] O que acontece se vários blocos catch correspondem ao tipo do objeto (exceção)
lançado?

respondi assim

a) se tiver um bloco finally, o bloco é executado. se não tiver, ele segue para o proximo metodo caso nao haja algum desvio.

b) o bloco finally sempre é executado

c) é um metodo que independente de ter sido encontrado erros ou não, sempre é executado ( ou o que voce me explicou acima)

d) essa eu não sei a resposta

no d ele executa o primeiro catch correspondente, por isso temos que começar dos mais especificos

por exemplo. varios catchs que verificam uma divisão por 0, ele inicia pelo primeiro?

as outras estão corretas?

as outras estao corretas sim,
depende do que voce definiu nos blocos catch, por exemplo:

try {
  2/0
} catch (ArithmeticException ae) {//n lembro se e exatamente essa exceção que trata isso
  System.out.print("executou o bloco 1";)
} catch (Exception e) {
  System.out.print("executou o bloco 2");
}

a saida seria executou o bloco 1

entendi

muito obrigado