Кто-нибудь когда-нибудь сталкивался с InsufficientExecutionStackException? MSDN мало о чем рассказывает.
InsufficientExecutionStackException
В чем разница между InsufficientExecutionStackException и StackOverflowException?
StackOverflowException
Это исключение выдается RuntimeHelpers.EnsureSufficientExecutionStack.См. https://msdn.microsoft.com/library/system.runtime.compilerservices.runtimehelpers.ensuresufficientexecutionstack.aspx
RuntimeHelpers.EnsureSufficientExecutionStack
В отличие от StackOverflowException вы можете поймать InsufficientExecutionStackException и изящно справиться с ситуацией.
С CLR Через C #
Непосредственно перед вызовом метода вы может проверить достаточно места в стеке вызывая класс RuntimeHelper Метод EnsureSufficientExecutionStack Этот метод проверяет, является ли вызывающий поток имеет достаточно места в стеке доступны для выполнения в среднем метод (который плохо определен) Если недостаточно места в стеке, метод бросает InsufficientExecutionStackException который вы можете поймать Метод EnsureSufficientExecutionStack не принимает аргументов и возвращает void Этот метод обычно используется рекурсивные методы