VS.NET 2003 C++异常捕获奇怪问题

rwdx 2005-10-09 03:39:08
int _tmain(int argc, _TCHAR* argv[])
{
char ll[3];
try
{
ll[5] = 0;
}
catch(...)
{
printf("error\n");
}
return 0;
}

上面是一个很普通的WIN32控制台程序,
在使用IDE环境调试可捕获到异常执行 printf("error\n") ,但单独运行则捕获不到任何异常,DEBUG 和 RELEASE 结果一样,不知道那位碰到过这个奇怪的问题?
...全文
129 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnsdwfwy 2005-10-10
  • 打赏
  • 举报
回复
这种问题经常可以遇到,编译器对debug和release处理不一样,比如代码优化。
经常会遇到一个程序debug可以运行而release就会报错;而有的程序release可以运行debug会报错。
对这样的问题,如果时间允许的话,仔细分析原因改掉就好了。
rwdx 2005-10-09
  • 打赏
  • 举报
回复
用IDE调试时能捕获到,关键其它类型的异常也是同样的结果
快乐鹦鹉 2005-10-09
  • 打赏
  • 举报
回复
这个不一定会有异常产生吧
DentistryDoctor 2005-10-09
  • 打赏
  • 举报
回复
DEBUG版加了heap溢出检查,但RELEASE版没有。

ll[5] = 0;本身有问题,但不一定会产生异常.

15,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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