关于DEBUG版程序的检测错误的小技巧

       在C++众多函数库中,防止或检测程序出错的库也有几个,例如断言------cassert(立即退出程序),异常-------exception(立即退出某域)等,其中也有一个很适合在调试中找出具体错误的库-------cerrno(仅显示错误信息)

        对于cerrno库,它可以直接显示出错误的原因,而不需要程序员去寻找出错的原因,可参考以下代码:

 

#include <iostream>
#include <cerrno>
#include <fstream>
using namespace std;

int main() 
{ 
	ifstream i("abc.txt");       //假设目录中没有abc.txt这个文件

	if (errno)                  
		cout << strerror(errno); //输出“No such file or directory”

	return 0;
} 

        对于以上代码,errno是一个在cerrno中定义好的一个变量,它的初值是0,表示没有发生错误。但当有错误发生时,它的值就会根据相应的错误进行改变,变为一个非0值,至于是什么错误,可以用strerrno这个函数进行处理,它会返回具体错误的一段字符串解释。有时如果错误并不致命,也并不明显时,可以用这种方法检测一下,就会比较有针对性地找出错误了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值