Agora a pergunta cl�ssica: por que voc� n�o pegou este c�digo e tentou executar?
 
Elel�..
 
Nada como o m�todo cient�fico. D�vidas sanadas, desculpem o flood.
 
Bruno H. H.
----- Original Message -----
Sent: Friday, April 04, 2003 1:40 PM
Subject: try{}, catch{} e finally{}

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