Je veux faire quelque chose d'un peu bête. Dans ma méthode Dispose()
pour un objet, je veux imprimer une trace de débogage pour l'objet, en me disant tous les événements qui se sont produits pendant qu'il était vivant.Déterminez si le code est appelé à partir d'un gestionnaire d'exceptions (using instruction)?
Mais comme cela prend du temps et de l'argent, je veux seulement faire cela si Dispose()
est appelée parce qu'une exception a été levée.
Je voudrais faire
if (exceptionIsCurrentlyRaised) PrintDebugStuff();
Est-ce que .NET ont une telle propriété exceptionIsCurrentlyRaised que je peux interroger?
Je doute que vous puissiez garder arbitrairement la trace de tous les "événements" qui arrivent à un objet. Si vous voulez garder une trace, il suffit de mettre la journalisation dans l'objet qui enregistre ce dont vous avez besoin chaque fois que des méthodes sont appelées. –
Je fais ma propre consignation des événements qui m'intéressent, mais ce n'est pas la question que je pose. –
duplicata possible de [Détermine si exécution en bloc en raison de l'exception étant levée] (http://stackoverflow.com/questions/3301507/determine-if-executing-in-finally-block-due-to-exception-being- jeté) –