Assert
 
如果表达式被评估为0(false),则调试停止程序执行的宏。

语法

#define Assert(expression ) If (expression) = 0 Then : fb_Assert( __FILE__, __LINE__, __FUNCTION__, #expression ) : End If

用法

Assert( expression )

参数

expression
任何有效的条件/数字表达式。如果expression 评估为0(即“false”),执行停止。

说明

Assert宏旨在用于调试,只有在FBC命令行中选择了-g选项时才能使用。在这种情况下,如果expression 评估为0,则会打印错误消息并停止程序执行。

它的正常使用是在调试期间检查变量的正确值。

如果-g未传递到fbc,则该宏不生成任何代码,并且不起作用。

注意:如果程序在图形ScreenAssert失败,则错误信息将不会显示,因为它将被打印到图形屏幕,这将立即关闭。

例子

Sub foo
 Dim a As Integer
 a=0
 Assert(a=1)
End Sub

foo 

''如果使用-g,则代码将停止:test.bas(3):在FOO:a = 1时断言失败


方言差异

  • -lang qb 方言中不可用,除非使用别名__ASSERT引用。

与QB差别

  • 新的FreeBASIC

参考