【问题标题】:How do I catch errors using flutter's .then() method?如何使用颤振的 .then() 方法捕获错误?
【发布时间】:2019-07-28 16:07:17
【问题描述】:

当用户搜索坐标时,我正在使用 Fluttery 地理定位器插件将坐标转换为地址。 但是,当使用无效坐标时,会引发异常,但不会按预期处理(代码如下)。

void placemarkFromCoordinates(latitude, longitude) async {
    Widget address;
    Geolocator().placemarkFromCoordinates(latitude, longitude).then((result) {
        print("result $result");
    }).catchError((error, stacktrace) {
        print(error);
    });

当抛出错误时,应该打印错误。但是,永远不会到达 catch 块,我只剩下这个异常:

发生了异常。 PlatformException(PlatformException(ERROR_GEOCODING_INVALID_COORDINATES,无法找到所提供坐标的地址。)

这个错误应该被捕获,但不是!

【问题讨论】:

    标签: android asynchronous flutter dart future


    【解决方案1】:

    Geolocator Flutter 插件有一个 catchError 方法,所以用那个代替 then

    【讨论】:

      猜你喜欢
      • 2021-06-16
      • 2020-12-17
      • 2020-04-21
      • 2019-10-29
      • 2021-11-05
      • 2018-09-28
      • 2021-08-09
      • 2019-03-09
      • 1970-01-01
      相关资源
      最近更新 更多