我不小心写了一些代码,其中包含今天看起来像这样的行:
public void fun1(args){
fun2(args);
}
public void fun2(args){
fun1(args);
}
它是在 Java 中的,所以当代码运行时,它产生了堆栈溢出并且代码崩溃了。那里没问题。
但这是基于 Java 的,我在其他语言中也看到了这一点(主要是 OO 或命令式语言)。是否有任何语言支持递归,这不会导致堆栈溢出,但可能是不同的错误类型?或者会“允许”无限循环无限期地运行,也许有足够的内存?