Как отловить ошибку во Flutter (`beacon_broadcast` library)? Обычные методы не работают для этой библиотеки - PullRequest
0 голосов
/ 14 апреля 2020

Я использую библиотеку с именем beacon_broadcast, когда я запускаю трансляцию маяка, в консоли выдается ошибка, но я не могу ее перехватить (try, .catchError и использование .then не работает).

Вывод на консоль:

D/BeaconParser( 7318): Parsing beacon layout: blah_blah_blah
D/BluetoothAdapter( 7318): isLeEnabled(): ON
D/BluetoothAdapter( 7318): isLeEnabled(): ON
E/BeaconTransmitter( 7318): Advertisement start failed, code: 2

Код ошибки 2 означает, что рекламное место недоступно.

Я не думаю, что мне нужно показывать свой исходный код для этого, так как это, похоже, не проблема с моим кодом, а скорее вопрос о том, как что-то сделать при определенных c обстоятельствах.

1 Ответ

1 голос
/ 14 апреля 2020

Проверьте, полностью ли содержит ваше предложение try часть кода, ответственного за ошибку, но я подозреваю, что это не то, что вы можете решить сейчас.

Глядя на хранилище библиотеки, я вижу, что ей нужно сначала обработайте ошибки, которые возникают в коде c, определяемом платформой (в данном случае Android / iOS / Web), а затем касаются Flutter. В частности, ошибка должна распространяться с платформы на Флаттер, чтобы позволить ему обработать и в конечном итоге вызвать исключение. Иногда разработчики забывают об этих проверках, и поэтому вы не можете обработать исключение непосредственно из dart.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...