Oi lista,
Estou com umas d�vidas sobre o fluxo de processos no tratamento de exe��es. Bom, sei que um comando que gera uma exce��o deve ser colocado dentro de um bloco try e que logo abaixo deste deve haver um bloco catch para pegar e tratar (ou suspender) a exce��o em quest�o. Caso haja a necessidade de que um comando seja executado mesmo tendo ocorrido uma exce��o nos comandos anteriores, ele deve ser colocado em um terceiro bloco finally. Tudo certo at� a�, n�?
A quest�o �: caso ocorra uma exce��o dentro do bloco try e esta seja tratada em um catch, os comandos logo abaixo destes dois �ltimos blocos ser�o executados mesmo que n�o estejam em um finally? E se o catch em quest�o suspender a exce��o?
Exemplo:

int numero = 0;
try
{
    numero = 10 / 0; // Gera exce��o
}
catch (Exception e)
{
    numero = -1; // Tratando...
}
System.out.println("Fim do programa. Numero = " + numero) // SEREI EXECUTADO?

ou

int numero = 0;
try
{
    numero = 10 / 0; // Gera exce��o
}
catch (Exception e)
{
    throw e; // Suspendendo
}
System.out.println("Fim do programa. Numero = " + numero) // SEREI EXECUTADO?

 
Obrigado pela aten��o
 
Bruno H. H.

Responder a