2015-08-24 2 views

risposta

4

A partire dal Dart 1.22, assert() prende un messaggio opzionale.

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

Se l'asserzione fallisce, produrrà qualcosa di simile al seguente:

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) 

Si noti che il messaggio di errore include l'affermazione reale (configFile != null).

4

V'è un problema aperto con una soluzione https://github.com/dart-lang/sdk/issues/6190#issuecomment-119103626

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

Ho provato a farlo, ma in questo modo non funziona. Un leggermente modificata versione funzionante

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

Vedere anche