变量/对象合法性检查

 

     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__>。

VC中检查变量合法性一般利用ASSERT(x)宏,ASSERT的作用在于检查表达式是否为假或为NULL,如果为假则会引发异常。在MFC中ASSERT宏被大量使用…


  在VC中检查变量合法性一般利用ASSERT(x)宏,ASSERT的作用在于检查表达式是否为假或为NULL,如果为假则会引发异常。在MFC中ASSERT宏被大量使用,例如:

相关文章

相关搜索:

今天看啥

搜索技术库

返回首页

  • javascript的内置对象,javascript内置
  • SQLHelper重构,sqlhelper
  • Java基础:面向对象三大特征、五大原则,j
  • 黑马day06
    EL表达式之运算符&11个内置M
  • Hibernate
    (面向对象的数据库操作),hiberna
  • Linux
    Shell之变量,linuxshell变量

相关频道:
Java编程  C#教程  C语言  C++教程  VC教程  Delphi教程  VB教程  工具软件  

相关文章