程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 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時怎麼辦,毫無疑問,此

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved