当前位置:首页>>ASP.NET教程>>Asp.NET综合技巧>>System.StackOverflowException
System.StackOverflowException
2009/11/8 13:19:18

System.StackOverflowException

两个类互相调用,出现这个异常,不过这只是一种可能性,参考里是另一种,其他情况Google

class A()


{
 B() b = new B();
 ...
}

class B()
{
 A() a = new A();
 ...
}


 

参考:

StackOverflowException 因执行堆栈溢出错误引发,通常在存在非常深的递归或无界递归时发生。LocallocMicrosoft 中间语言 (MSIL) 指令引发 StackOverflowException

两个类互相调用应该就是无界递归了

Summary

Represents the error that occurs when the execution stack overflows due to too many method calls.

 

Description

[Note: StackOverflowException is thrown for execution stack overflow errors, typically in the case of a very deep or unbounded recursion.

The localloc IL instruction throws StackOverflowException.

]

 

Example

The following example demonstrates an error that causes a StackOverflowException exception.

using System;

public class StackOverflowExample {

public static void recursion() { recursion(); }

public static void Main() {

try {

recursion();

}

catch(StackOverflowException e) {

Console.WriteLine("Error caught: {0}", e);

}

}

}

The output is

Error caught: System.StackOverflowException: Exception of type System.StackOverflowException was thrown.