InsufficientExecutionStackException - PullRequest
10 голосов
/ 31 марта 2011

Кто-нибудь когда-нибудь сталкивался с InsufficientExecutionStackException? MSDN мало о чем рассказывает.

В чем разница между InsufficientExecutionStackException и StackOverflowException?

Ответы [ 2 ]

6 голосов
/ 31 марта 2011

Это исключение выдается RuntimeHelpers.EnsureSufficientExecutionStack.См. https://msdn.microsoft.com/library/system.runtime.compilerservices.runtimehelpers.ensuresufficientexecutionstack.aspx

В отличие от StackOverflowException вы можете поймать InsufficientExecutionStackException и изящно справиться с ситуацией.

1 голос
/ 31 марта 2011

С CLR Через C #

Непосредственно перед вызовом метода вы может проверить достаточно места в стеке вызывая класс RuntimeHelper Метод EnsureSufficientExecutionStack Этот метод проверяет, является ли вызывающий поток имеет достаточно места в стеке доступны для выполнения в среднем
метод (который плохо определен) Если недостаточно места в стеке, метод бросает InsufficientExecutionStackException который вы можете поймать Метод EnsureSufficientExecutionStack не принимает аргументов и возвращает void Этот метод обычно используется рекурсивные методы

...