断言

表达式 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

另请参阅