Как обрабатывать исключения, возникающие в изолятах?

Я экспериментирую с Dart и использую новую streamSpawnFunction для создания новый изолят.

Я запускаю свой код в Dartium, но я заметил, что если в изоляте возникает какая-то неисправимая ошибка, я не получаю сообщения об ошибке на консоли. Поскольку точки останова в коде изоляции не работают, отладка становится очень болезненной.

Старая функция запуска Isolate на основе порта (spawnFunction) имеет обратный вызов функция обработки ошибок. Интересно, почему это недоступно с streamSpawnFunction. Есть ли новый способ подписаться на события ошибок изолята?


person NagyI    schedule 16.03.2013    source источник


Ответы (1)


Отсутствующая функциональность streamSpawnFunction — просто недосмотр. Я зарегистрировал http://dartbug.com/9208 и постараюсь исправить это на следующей неделе.

Я не уверен, известна ли проблема, что точки останова не работают в изоляции. Я позволю вам отправить отчет об ошибке (http://dartbug.com), чтобы разработчики могли задать вам вопросы, и вы держат в курсе процесса.

person Florian Loitsch    schedule 16.03.2013
comment
Спасибо, пометил тему. Я искал в сети информацию о том, что точки останова не работают в ошибках изолятов, и кажется, что у других тоже были проблемы с этим: groups.google.com/a/dartlang.org/forum/?fromgroups#!topic/misc/ Я использую самую последнюю версию 64-битная сборка на моей машине с Win8. Неизолированные точки останова работают. Я попытался поместить минимальный образец в свой файл index.dart, но все равно не повезло. Я тогда зарегистрирую ошибку. - person NagyI; 17.03.2013
comment
Не забывайте, что нам по-прежнему нужен обработчик исключений для spawnUri()/spawnStreamUri(), пока вы этим занимаетесь. :) code.google.com/p/dart/issues/detail? идентификатор=8454 - person Justin Fagnani; 18.03.2013