Visual C++ MFC 中常用宏的含义
2008-10-10 12:43
AND_CATCHAND_CATCH
AND_CATCH(exception_class,exception _object_point_name)
说明:
定义一个代码块,它用于获取废除当前 TRY 块中的附加异常类型。使用 CATCH
宏以获得一个异常类型,然后使用 AND_CATCH 宏获得随后的异常处理代码可以访
问异常对象(若合适的话)已得到关于异常的特别原因的更多消息。在 AND_CATCH
块中调用 THROW_LAST 宏以便把处理过程移到下个外部异常框架。AND_CATCH 可
标记 CATCH 或 AND_CATCH 块的末尾。
注释:
AND_CATCH 块被定义成为一个 C++作用域(由花括号来描述)。若用户在此
作用域定义变量,那么记住他们只在此作用域中可以访问。他也用于
exception_object_pointer_name 变量。
ASSERT
ASSERT(booleanExpression)
说明:
计算变量的值。如果结构的值为 0,那么此宏便打印一个诊断消息并且成讯
运行失败。如果条件为非 0,那么什么也不做。 诊断消息的形式为: assertion
failed in file in line 其中 name 是元文件名,num 是源文件中运行失败的中
断号。 在 Release 版中,ASSERT 不计算表达式的值也就不中断程序。如果必须
计算此表达式的值且不管环境如何那么用 VERIFY 代替 ASSERT。
注释:
ASSERT 只能在 Debug 版中用
ASSERT_VAILD
ASSERT_VAILD(pObject)
说明:
用于检测关于对象的内部状态的有效性。ASSERT_VALID 调用此对象的
AssertValid 成员函数(把它们作为自己的变量来传递)。在 Release 版中
ASSERT_VALID 什么也不做。在 DEBUG 版中,他检查指针,以不同于 NULL 的方式
进行检查,并调用对象自己的 AssertValid 成员函数。如果这些检测中有任何一
个失败的话,那么他会以与 ASSERT 相同的方法显示一个警告的消息。
注释:
此函数只在 DEBUG 版中有效。
BEGIN_MESSAGE_MAP
BEGIN_MESSAGE_MAP(the class,baseclass)
说明:
使用 BEGIN_MESSAGE_MAP 开始用户消息映射的定义。在定义用户类函数的工
具(.cpp)文件中,以 BEGIN_MESSAGE_MAP 宏开始消息映射,然后为每个消息处
理函数增加宏项,接着以 END_MESSAGE_MAP 宏完成消息映射。