首页 > 解决方案 > 检查 dart 的 main 函数内部是否启用了断言?

问题描述

我知道为了运行启用了断言的文件,我必须使用如下--enable-asserts标志运行它:

dart --enable-asserts file_name.dart

如何验证是否在 main 函数中启用了断言,如果没有则打印一些东西?

标签: dart

解决方案


不确定是否有任何正确的方法可以做到这一点,但你可以像这样“破解”一些东西:

void main() {
  if (assertEnabled()) {
    print('Asserts enabled!');
  } else {
    print('Asserts not enabled!');
  }
}

bool assertEnabled() {
  try {
    assert(false);
    return false;
  } catch (_) {
    return true;
  }
}

推荐阅读