O que acontece se se a captura e finalmente blocos lançam exceção?
-
18-09-2019 - |
Pergunta
O que acontece se se a captura e finalmente blocos lançam exceção?
Solução
Quando o finally
Block lança uma exceção, ele ocultará efetivamente a exceção jogada do catch
Block e será o único a ser jogado. Portanto, é importante registrar exceções quando capturado, ou garantir que o bloco finalmente não faça uma exceção, caso contrário, você pode ser expulso exceções que são sufocadas e nunca vistas.
Outras dicas
Quando Catch joga uma exceção, finalmente o bloco será executado e depois saia com uma exceção. Se o bloco finalmente lançar uma exceção, o bloco sairá com uma exceção.
A última exceção lançada é lançada.
Já foi respondido bem pelos Adrianbanks, mas a postagem a seguir deve ser interessante:Resultados da exceção interessante: jogando exceções do bloco finalmente
Oi Nwaman, acho que você responde errada, eu testei no Windows Appliaction, eu descobri se você escrever um programa como o abaixo
try
{
string s = "hu";
int i = int.Parse(s);
}
catch (Exception ex)
{
string s = "hu";
int i = int.Parse(s);
throw new Exception();
}
finally
{
MessageBox.Show("hi");
}
E isso não resultará finalmente para escapar,