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