Que se passe-t-il si les blocs catch et finalement Block lancent une exception?
Réponses
Trop de publicités? Lorsque le bloc finally
lève une exception, il masquera effectivement l'exception levée du bloc catch
et sera celle qui sera finalement levée. Il est donc important de consigner les exceptions lorsqu’elles sont interceptées ou de s’assurer que le bloc finally ne lève pas d’exception, sinon vous pouvez obtenir des exceptions qui sont étouffées et jamais vues.
Adrianbanks a déjà répondu à sa question, mais l'article suivant devrait être intéressant: Résultats exceptionnels intéressants: exclusion des exceptions du bloc Finally
HI Nwaman, je pense que vous répondez est faux, je l’ai testé sous Windows, j’ai trouvé si vous écrivez un programme comme celui-ci
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");
}
et cela ne résultera finalement pas pour excuter,