Negativo. Quando um código é escrito dentro do finally, independente da exceção que ocorrer o bloco de instrução será executado. Experimente executar o código abaixo:
public static void main(String[] args) {
Conta cp = new ContaCorrente();
try {
cp.deposita(Double.parseDouble("abc"));
} catch (ValorInvalidoException e) {
System.out.println(e.getMessage());
} finally {
System.out.println("Acabou com o finally");
}
System.out.println("Acabou sem o finally");
}
Neste caso, a exceção ValorInvalidoException
apenas trata valor negativos, e como estou passando uma String na chamada do método deposita
, a execução do main
será interrompida. Com o finally é possível inserir determinado código que será executado independente da exceção que ocorrer.