Est-ce une mauvaise pratique de retour dans un try catch enfin bloquer?

Donc, je suis tombé sur un certain code, ce matin, qui ressemblait à ceci:

try
{
    x = SomeThingDangerous();
    return x;
}
catch (Exception ex)
{
    throw new DangerousException(ex);
}
finally
{
    CleanUpDangerousStuff();
}

Maintenant ce code compile fine et fonctionne comme il se doit, mais il n'a tout simplement pas se sentir le droit de retour à partir de l'intérieur d'un bloc try, surtout si il ya un associé enfin.

Ma principale question est de savoir ce qui se passe si les enfin, déclenche une exception de lui-même? Vous avez en retour une variable, mais également une exception à gérer... donc, je suis intéressé de savoir ce que les autres pensent de retour à partir de l'intérieur d'un bloc try?

  • Un des avantages de ce style est que vous n'avez pas à déclarer x à l'extérieur de la try bloc. Vous pouvez garder sa déclaration à proximité de son utilisation.
InformationsquelleAutor lomaxx | 2009-01-16