我們想在assert()
失敗時打印一條消息。目前在Dart中,斷言只需要一個布爾值。我們希望給開發者明確的理由和指示,說明斷言失敗時該怎麼做。如何在Dart中斷言失敗時打印消息?
5
A
回答
4
參見作爲Dart 1.22,assert()
帶有一個可選的消息。
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");
也
相關問題
- 1. 如何將所有斷言失敗消息打印到SoapUI的HTML報告中
- 2. 斷言失敗時如何打印更多內容?
- 3. Groovy漂亮打印XML斷言失敗
- 4. 調試斷言失敗的消息
- 5. 彈出消息:斷言失敗
- 6. 獲取NUnit斷言失敗消息
- 7. 打印GetArgumentsForCallsMadeOne如果在RhinoMock中斷言失敗
- 8. py.test:格式化失敗的斷言和打印自定義消息
- 9. popToViewController引發「斷言失敗」消息,該如何解決?
- 10. 我想在登錄失敗時打印警報消息
- 11. 如何在聲明失敗時使HUnit打印斷行?
- 12. 如何讓GDB在GLib斷言失敗時中斷?
- 13. 斷言失敗
- 14. 斷言失敗
- 15. Rails的,失敗的斷言,沒有任何消息給
- 16. python中斷言的打印成功消息
- 17. 在WPF WebBrowser中打開Facebook eml時斷言失敗
- 18. xmlSecInit()打印斷言失敗到stderr(g_xslt_default_security_prefs == NULL)
- 19. Java斷言打印
- 20. JMeter斷言失敗
- 21. xcode斷言失敗
- 22. calcopticalflowpyrlk斷言失敗
- 23. MZFormSheetController斷言失敗
- 24. UICollectionView斷言失敗
- 25. OpenCv斷言失敗
- 26. findcontours斷言失敗
- 27. 調試斷言失敗,打開CV SIFT
- 28. 信息截斷時打印
- 29. 替代斷言獲取失敗日誌消息並繼續?
- 30. 「斷言失敗」的消息不完全使用的CppUnit和TFS2015