Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Vantagem de usar o finally

Pessoal, qual a diferença entre usar o finally ou simplesmente escrever o código após o catch? apenas semântica? Testei ambas as formas abaixo e funcionou:

try { } catch{} finally{ MessageBox.Show("Teste"); }

//

try { } catch{} MessageBox.Show("Teste");

2 respostas
solução!

O finally é executado sempre, mesmo que aconteça uma exception diferente da que vc tratou no catch / ou que seu catch lance uma nova exception / ou ate mesmo se vc tiver um return no try ou no catch.

Nesses 3 casos, o codigo apos o try/catch não seria executado. O do finally sim.

Ele pode ser util tbm pra executar algo após um erro sem trata-lo (bloco try-finally apenas)

Teste assim:

int numero = 1;
int zero = 0
try 
{ 
    numero = numero/zero
} catch
{
    MessageBox.Show("Erro");
        return 
} finally
{ 
    MessageBox.Show("Teste finally"); 
}
    MessageBox.Show("Teste depois try");