断言
斷言(Assertion)是一个很有用的开发工具。下面的代码在调试模式(debug mode)下运行,将产生一个断言错误(AssertionError)。
// ch0203_1.dart
void main() {
var str = '';
assert(str.isNotEmpty, "str cannot be empty");
// do something else
}
assert
接收2个参数,第一个参数必须是布尔表达式, 第二个参数是可选的,乃错误提示信息;在调试模式下,当第一个参数的值为false
时,将出现断言错误。
断言仅在调试模式(debug mode)下起作用。对于发布模式(release mode),除非在编译时显示启用了断言, 所有的assert
语句都将被忽略,从而不会干预程序的执行流程。在Dart的相关命令中(例如 dart run
、dart compile exe
),通过--enable-asserts
参数启用断言,如
dart run --enable-asserts bin/ch02/ch0203_1.dart