表达式 assert
是可用于测试表达式的调试功能。 在调试模式下失败时,断言将生成系统错误对话框。
语法
assert condition
注解
表达式 assert
具有类型 bool -> unit
。
该 assert
函数解析为 Debug.Assert. 这意味着其行为与直接调用 Debug.Assert 的行为相同。
仅在调试模式下编译时才启用断言检查;也就是说,如果定义了常量 DEBUG
。 在项目系统中,默认情况下,常量在调试配置中定义, DEBUG
但不在发布配置中定义。
断言失败错误无法使用 F# 异常处理捕获。
示例:
下面的代码示例演示了 assert
表达式的使用。
let subtractUnsigned (x : uint32) (y : uint32) =
assert (x > y)
let z = x - y
z
// This code does not generate an assertion failure.
let result1 = subtractUnsigned 2u 1u
// This code generates an assertion failure.
let result2 = subtractUnsigned 1u 2u