由于每个线程都拥有私有堆栈,为什么不通知另一个线程StackoverflowException
并让线程死掉,特别是如果它是后台工作线程?
答案 0 :(得分:3)
如果任何异常在没有被捕获的情况下将其恢复到根状态,那么任何异常都会将其删除。无法1}} 被捕获(从.NET 2.0开始)。因此:热潮。
基本上,不要导致StackOverflowException
。例如,向递归代码添加计数器,或者使用非递归实现重写它(可能是对StackOverflowException
或Queue<T>
个待处理项的循环。)