程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 變量/對象合法性檢查

變量/對象合法性檢查

編輯:C語言基礎知識

 

在VC中檢查變量合法性一般利用ASSERT(x)宏,ASSERT的作用在於檢查表達式是否為假或為NULL,如果為假則會引發異常。在MFC中ASSERT宏被大量使用,例如:

     BOOL CWnd::Attach(HWND hWndNew)
     {
           ASSERT(m_hWnd == NULL);       // only attach once, detach on
             destroy
           // …
 
           return TRUE;
     }
 
     void CString::AllocBuffer(int nLen)
     {
           ASSERT(nLen >= 0);
           ASSERT(nLen <= INT_MAX-1);    // 
     }
 
     void CDocument::AddView(CView* pView)
     {
           // other code…
           ASSERT(pView->m_pDocument == NULL); 
           ASSERT(m_viewList.Find(pView, NULL) == NULL);  
     }

當ASSERT失敗並引發異常時會有對話框談出並報告發生該ASSERT失敗位置。報錯信息如:assertion failed in file <THIS_FILE> in line <__LINE__>。

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