Проблема в том, что вы не можете поймать StackOverflowException
в .NET (начиная с версии 2.0).Это, вероятно, означает, что нет способа решить вашу проблему - потому что среда модульного тестирования просто не может поймать исключение.
См. Следующий связанный вопрос SO:
В другом потоке есть несколько интересных предложений - например, вы можете создать Thread
и проверить текущий FrameCount
, чтобы обнаружить стекпереполнение ранее.Однако это, вероятно, не будет очень надежным.Так что, боюсь, нет хорошего ответа ...