当前位置:编程学习 > 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__>。

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