递归中如果层数太多导致堆栈溢出,如何捕获这个错误?

otuotu 2002-12-26 01:41:06
用异常处理吗?该怎么用那?拜托写一段例子代码看看。
...全文
829 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
nullname 2003-05-09
  • 打赏
  • 举报
回复
try
{
}
catch(...)
{
}
Zark 2003-01-14
  • 打赏
  • 举报
回复
如果是用VC6.0,可试试下列代码

#include <windows.h>
#include <stdio.h>

int Recursive(int i)
{
return Recursive(i);
}

void main()
{
__try
{
Recursive(100);
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
if(_exception_code()==0xC00000FD)
puts("overflow");
else
puts("other exception");
}
}
love_snoopy 2003-01-13
  • 打赏
  • 举报
回复
初始化堆栈的时候,把堆栈全部写成一个值,看爱好和数值的出现频率。入栈的时候检查堆栈剩余的大小,或者剩余比较大,就执行PUSH操作,要是比较小了,就检查堆栈后面的空间是不是你设定的预定值,要是是的话,就继续使用,要是不是的话,基本就可以判定已经溢出了。
这个方法操作简单,但是实现复杂。对代码大小和执行时间都有影响。
SwordMan2001 2002-12-29
  • 打赏
  • 举报
回复
在TC3。0下,可以在编译时配置代码生成选项,让生成的代码自动检测栈溢出,

对其它的编译环境,我不大清楚是否有类似功能。
Wenxy1 2002-12-29
  • 打赏
  • 举报
回复
top
cwanter 2002-12-28
  • 打赏
  • 举报
回复
是不是可以大体估算需要的堆栈量,适当增加堆栈大小。
alan118 2002-12-27
  • 打赏
  • 举报
回复
替你up
otuotu 2002-12-27
  • 打赏
  • 举报
回复
***************如何避免递归中的堆栈溢出异常**************
otuotu 2002-12-26
  • 打赏
  • 举报
回复
能简单讲讲吗?急
cwanter 2002-12-26
  • 打赏
  • 举报
回复
看看《核心编程》16章。
otuotu 2002-12-26
  • 打赏
  • 举报
回复
?
liushmh 2002-12-26
  • 打赏
  • 举报
回复
borland c++ builder
windcsn 2002-12-26
  • 打赏
  • 举报
回复
在BLORDLAND CBUILDER
白菜帮主 2002-12-26
  • 打赏
  • 举报
回复
小弟菜鸟,请问windcsn老兄,什么是BCB环境?
谢谢指教.
otuotu 2002-12-26
  • 打赏
  • 举报
回复
以及,我用
try
{
}
catch(...)
{
}
为什么Debug就可运行,但Release就不行
otuotu 2002-12-26
  • 打赏
  • 举报
回复
C++;
try
{

}
catch(...)
{

}
是可以捕获到,但我想具体细化操作,而不是把所有的都捕获。程序框架如下:
int test()
{
return (test()); //1
}
main
{
int temp=test(); //2
}
try ,catch是放在1处还是放在2处好点?
windcsn 2002-12-26
  • 打赏
  • 举报
回复
你在调用递归函数用异常处理,
看你在用什么环境了BCB中是EStackOverFlow例如
int Add(int i)
{
if(i<100000)
Add(i);
return i;
}
int main()
{
try
{
Add(1) ;
}
catch(Exception &EStackOverFlow)
{
....
}
}
fireseed 2002-12-26
  • 打赏
  • 举报
回复
try
{
}
catch(...)
{
}
otuotu 2002-12-26
  • 打赏
  • 举报
回复
大家都不会吗?还是我没讲清楚?就是递归时候条件设置不好,可能会导致
递归层数过多,于是堆栈溢出。我该如何写一段代码来避免报错并从递归中返回那?
otuotu 2002-12-26
  • 打赏
  • 举报
回复
stack overflow!!!

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧