c++中非法情况与错误情况之间的区别

来源:百度知道 编辑:UC知道 时间:2024/09/26 10:59:29
为什么后者是必然存在的并且是一定要作出处理的?

编程中的非法情况通常是编程人员疏忽而导致的,是可避免的. 而错误是代码执行的结果与预期的不一致. 是无法避免的, 所以要做相应的处理. 例如:

1) char *pszBuf = new char(100);
2) memset(pszBuf, 0, 100);

第一句话是申请内存操作,有两种结果:成功和失败.
第二句是初始化申请到的内存. 如果申请内存失败就产生了错误, 如果不对这个错误进行处理就会产生非法情况(即异常). 所以代码应该这样写:
char *pszBuf = new char(100);
if (!pszBuf)
{
return FALSE;
}
memset(pszBuf, 0, 100);
这样就避免非法的产生啦!