断言 (F#)
assert 表达式是一种可用于测试表达式的调试功能。 调试模式中出现失败错误时,断言将生成系统错误对话框。
assert condition
备注
assert 表达式的类型为 bool -> unit。
在前面的语法中,condition 表示要测试的布尔表达式。 如果表达式的计算结果为 true,则执行将继续,并且不受影响。 如果该表达式的计算结果为 false,则会生成系统错误对话框。 该错误对话框的标题中包含字符串**“断言失败”**。 该对话框包含一个堆栈跟踪,指示发生断言失败错误的位置。
只有在“调试”模式下(也就是说,在定义了常量 DEBUG 的情况下)进行编译时,才会启用断言检查。 在项目系统中,默认情况下,DEBUG 常量是在“调试”配置(而不是“发布”配置)中定义的。
无法使用 F# 异常处理来捕获断言失败错误。
提示
assert 函数解析为 System.Diagnostics.Debug.Assert。 有关更多信息,请参见Assert。
下面的代码示例阐释 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