2015-08-24 76 views

回答

4

參見作爲Dart 1.22assert()帶有一個可選的消息。

assert(configFile != null, "Tool config missing."); 

如果斷言失敗,它會產生類似以下內容:

Unhandled exception: 
'file:///.../main.dart': Failed assertion: line 9 pos 10: 
'configFile != null': Tool config missing. 
#0  _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:33) 
#1  _AssertionError._throwNew (dart:core-patch/errors_patch.dart:29) 
#2  main (file:///.../main.dart:9:10) 

注意,錯誤消息中包含的實際斷言(configFile != null)。

4

有一個懸而未決的問題有一個解決辦法https://github.com/dart-lang/sdk/issues/6190#issuecomment-119103626

assert(() => test || throw "message"); 

我試過,但這種方式是行不通的。稍微修改工作版本

var test = false; 
assert(test ? true : throw "message");