|
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.
|
