如何使用flutter的.then()方法捕获错误?

时间:2019-07-28 16:07:17

标签: android asynchronous flutter dart future

我正在使用Fluttery geolocator插件在用户搜索同伴时将其转换为地址。 但是,当使用无效的坐标时,会引发异常,但不会按预期方式处理(以下代码)。

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,无法找到提供的坐标的地址。)

应该捕获此错误,但不是!

1 个答案:

答案 0 :(得分:0)

Geolocator flutter插件具有catchError方法,因此请使用该方法代替