今天写代码的时候遇到了一个报错,
就是这个StackOverflowException 。
在网上简单的搜了一下,发现都是说什么属性出了问题的。
比如这样
private int a;
public int A{get{return A;}}
这里就是属性A返回A导致这里存在了一个死循环,因此StackOverflowException 。
而我遇到的问题不是这样的。
我的代码大致是这样的。
bool i=true;
void a()
{
if(i)
{
b();
}
}
void b()
{
a();
}
因此在i==true的时候,这两个函数就是死循环的状态,故StackOverflowException 。
所以以后如果遇到这种问题,首先看看你的出错位置,认真检查是否出现了死循环的情况。
只要修改了死循环,就能够避免这种错误。