Si j'ai une méthode que je sais potentiellement récursif infiniment, mais je ne peux pas prédire avec certitude quelles conditions/paramètres provoqueraient, quel est un bon moyen en C# de le faire:Quelle est une bonne façon générale d'intercepter une exception StackOverflow en C#?
try
{
PotentiallyInfiniteRecursiveMethod();
}
catch (StackOverflowException)
{
// Handle gracefully.
}
Il est évident que dans la thread principal vous ne pouvez pas faire cela, mais on m'a dit à quelques reprises qu'il est possible de le faire en utilisant des threads ou AppDomain, mais je n'ai jamais vu un exemple de travail. Quelqu'un sait-il comment cela se fait de manière fiable?
Pouvez-vous redessiner votre algorithme? –
Ce n'est pas forcément mon algorithme; par exemple, la méthode 'Transform' sur un objet' XslCompiledTransform' va se casser si XSLT a un modèle récursif dedans. – Flynn1179
Pouvez-vous réparer le XSLT? – Arcturus