Я очень расстраивался из-за Dart, поскольку исключения во время выполнения, кажется, терпят неудачу. Выполнение программы продолжится после некоторого сбоя, и я совершенно не понимаю, что не работает и почему. Например, при использовании акведука для сервера дротиков (это проблема не только акведука, но и дротика в целом) у меня есть этот код:
jsonData.forEach((jsonObject) async {
ManagedObject record = Document();
record.read(jsonObject);
print(Util.jsonFormatToString(record.asMap()));
....more code
}
В этом случае приложение не выполняет молчание при записи. Читать () выпадает из forEach l oop и затем продолжает выполнение кода. Во время отладки приложение возвращает совершенно странные результаты, а после отладки, предположительно, существует проблема с попыткой чтения jsonObject в управляемый объект, но Dart не сообщает, что есть проблема или что это за проблема.
Это один из многих примеров, с которыми мне приходилось сталкиваться.
Почему Dart выходит из строя так тихо или мне где-то не хватает какой-то настройки, скрывающей важную информацию? Я использую IntelliJ IDE.