Я знаю, что StackOverflowExceptions в .NET нельзя поймать, удалить свой процесс и не иметь трассировки стека. Это официально зарегистрировано в MSDN. Тем не менее, мне интересно, каковы технические (или другие) причины этого поведения. Все MSDN говорит:
В предыдущих версиях .NET Framework ваше приложение могло объект StackOverflowException (например, для восстановления из неограниченная рекурсия). Однако эта практика в настоящее время не приветствуется потому что необходим значительный дополнительный код для надежного исключение и продолжить выполнение программы.
Что это за "значительный дополнительный код"? Существуют ли другие документированные причины такого поведения? Даже если мы не можем поймать SOE, почему мы не можем получить трассировку стека? Несколько сотрудников, и я просто потратил несколько часов на отладку производственного StackOverflowException, которое потребовало бы минут с трассировкой стека, поэтому мне интересно, есть ли веская причина для моих страданий.