当前位置:编程学习 > C/C++ >>

异常捕捉与处理

 

  在软件开发的过程中错误捕捉显得尤为重要,因为有的错误会导致软件功能失常,而有的却会造成破坏性损失。世上没有不出错的软件。软件的逻辑错误,人为操作的失误,运行条件的改变等等因素都会导致异常的出现。下面的代码是一个例子:

 
char* pszData=NULL;//假设为全局变量
 
BOOL ReadData(void)
{
         FILE* pFile=fopen("c:\data.dat","r");
         //假设 c:data.dat文件长度为 1024 BYTE
         if(pFile != NULL)
         {
                 if(pszData)
                          delete pszData;
                 pszData=new char[1024];
                 if(1024 == fread(pszData,1024,1,pFile))
                          return TRUE;
         }
         //打开文件失败错误,或文件长度不够
         return FALSE;
}
void PrintData()
{
         for(int i=0;i<1024;i++)
         {
                 printf("%x ",pszData[i]);
         }
}

  粗看这段代码应该是没有问题的,因为该段代码进行了错误处理,在操作没成功时返回了错误。但是在PrintData中就有一个隐患,如果pszData为NULL时怎么办,毫无疑问,此

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,