System.StackOverflowException

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  阅读(1770)  评论(0编辑  收藏  举报