Est-ce qu'il se demandait comment chercher un bloc try/catch qui n'a pas de log.Error (ex) dans son bloc catch. Par recherche, je veux dire en utilisant Visual Studio construit dans la recherche regex.Recherche d'un bloc try/catch spécifique en utilisant RegEx
Regex trouverait bloc comme ceci:
try
{
CallSomeExceptionalFunction();
}
catch(Exception ex)
{
CallSomething();
// missing error handling
}
Ce bloc doit être ignoré par regex car il contient log.Error:
try
{
CallSomeExceptionalFunction();
}
catch(Exception ex)
{
log.Error(ex);
}
Vous voulez dire que vous voulez utiliser la recherche regex intégrée de Visual Studio? Ou voulez-vous le faire dans un programme C# qui analyse le code source? Aussi, peut-il y avoir plus d'une paire d'accolades après un bloc 'try' ou' catch'? Si oui, vous ne pouvez pas le faire avec une regex. –
Ne soyez pas si paresseux :) –
Comme déjà dit, si vous avez des blocs catch arbitraires, les expressions régulières ne peuvent pas vraiment vous aider. Si tous vos blocs catch sont exactement comme dans votre exemple, cela peut être fait. Mais mon pari est que vous passerez moins de temps et d'efforts en cherchant simplement tout votre code pour la phrase «attraper» et ensuite vérifier manuellement si vous utilisez votre enregistreur préféré. – Mikael