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.
posted @ 2006-06-15 16:20
CooS 阅读(702)
评论(0) 编辑 收藏 网摘 所属分类:
.NET