Skip to content

ASSERTWARN


调试宏,当表达式求值为 0 时打印警告信息。

语法

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

用法

ASSERTWARN( expression )

参数

expression

任何有效的表达式。如果 expression 求值为 0,则向 stderr(控制台)打印一条警告信息。

说明

ASSERTWARN 宏用于调试,仅当 FBC 命令行中选择了 -g 选项时才有效。此时若 expression 求值为 0,它会打印一条警告信息,但与 ASSERT 不同,它不会停止程序执行。

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

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

示例

start GeSHi

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

foo

'' If -g is used this code prints: test.bas(3): assertion failed at FOO: a=1

end GeSHi

方言差异

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

与 QB 的差异

  • FreeBASIC 新增特性

另请参阅

  • ASSERT

返回 目录

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