断言
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