Skip to content

ASSERT


调试宏,当表达式求值为 0(假)时停止程序执行。

语法

#define ASSERT(expression) if (expression) = 0 then : fb_Assert( **FILE**, **LINE**, **FUNCTION**, #expression ) : end if

用法

ASSERT( expression )

参数

expression

任何有效的条件/数值表达式。如果 expression 求值为 0(即"假"),则停止执行。

说明

ASSERT 宏用于调试,仅当命令行指定了 -g-eassert 选项时才有效。此时若 expression 求值为 0,它会打印错误信息并停止程序执行。

其常规用途是在调试过程中检查变量或表达式的正确值。

如果未向 fbc 传递 -g-eassert,则该宏不会生成任何代码,也不会有任何效果。

注意:如果 ASSERT 失败时程序正处于图形 Screen (Graphics) 模式,错误信息将不可见,因为它会被打印到图形屏幕上,而图形屏幕会在之后立即关闭。

示例

start GeSHi

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

foo

'' If -g or -eassert is used, this code stops with: test.bas(3): assertion failed at FOO: a=1

end GeSHi

方言差异

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

与 QB 的差异

  • FreeBASIC 新增特性

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系