如何在 Flutter(`beacon_broadcast` 库)中捕获错误?常规方法不适用于此库

How do I catch an error in Flutter (`beacon_broadcast` library)? Conventional methods don't work for this library

当我开始信标广播时,我正在使用一个名为 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

我认为我不需要为此展示我的源代码,因为这似乎不是我的代码的问题,而是关于如何在特定情况下做某事的问题。

检查您的 try 子句是否完全包含导致错误的代码部分,但我怀疑这不是您现在可以解决的问题。

查看库的存储库,我可以看到它需要首先处理平台特定代码中出现的错误(在本例中 Android/iOS/Web),然后是 Flutter 的问题。特别是,错误应该从平台传播到 Flutter,让他处理并最终引发异常。有时开发人员会忘记这些检查,这就是为什么您不能直接从 dart 处理异常的原因。