为什么release版本下反而不报错?

标哥 2011-03-22 05:32:28
CFile file;

file.Open("noFile.txt", CFile::modeRead);//noFile.txt不存在
file.Close();//出错处

如题,因为noFile.txt不存在,打开文件失败,所以file.Close()出错,
Debug版本下运行程序出错,但是选择为Release版本编译后却不报错了
网上搜不到答案(网上都是Release版本出错的多,我这里反过来Release版本倒还不出错了),请问这是为什么呢?
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
标哥 2011-03-22
  • 打赏
  • 举报
回复
确实是这样
tzxx 2011-03-22
  • 打赏
  • 举报
回复
Release不报错才正常啊,一般都是Debug时容易出错,便于你调试。Debug不报错而Release下报错的情况要难以调试一些。
b2b160 2011-03-22
  • 打赏
  • 举报
回复
其实Release不报错很正常,Debug是尽量给你暴露程序问题,这样的程序机制才是稳定程序的基础.
标哥 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 na_he 的回复:]
看一下Release于debug的区别。Release下的容错机制相对做的好一些。但有时候初始值的设定,debug下面又做的好一点了。
[/Quote]
我原来是打算测试Debug和Release下ASSERT()、VERIFY()的执行情况的
但是结果出乎意料,改报错的却不报错
原来是这样啊
na_he 2011-03-22
  • 打赏
  • 举报
回复
看一下Release于debug的区别。Release下的容错机制相对做的好一些。但有时候初始值的设定,debug下面又做的好一点了。
标哥 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mayudong1 的回复:]
难道你就不想在调用open后对返回值作下判断?
难道你就不想在open处作下异常处理?
[/Quote]
我只是想做个测试而已, 这里为什么release版本下不报错
mayudong1 2011-03-22
  • 打赏
  • 举报
回复
难道你就不想在调用open后对返回值作下判断?
难道你就不想在open处作下异常处理?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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