Если у меня есть метод, который я знаю, может потенциально рекурсивный бесконечно, но я не могу достоверно предсказать, какие условия/параметры будут вызывать это, что это хороший способ в C# делать это:Какой хороший общий способ поймать исключение StackOverflow в C#?
try
{
PotentiallyInfiniteRecursiveMethod();
}
catch (StackOverflowException)
{
// Handle gracefully.
}
Очевидно, что в main thread вы не можете этого сделать, но мне сказали несколько раз, что это можно сделать с помощью потоков или AppDomain, но я никогда не видел рабочего примера. Кто-нибудь знает, как это делается надежно?
Вы можете перестроить свой алгоритм? –
Это не обязательно мой алгоритм; например, метод Transform на объекте «XslCompiledTransform» будет разбит, если XSLT имеет в нем рекурсивный шаблон. – Flynn1179
Можете ли вы исправить XSLT? – Arcturus