如何使用 FutureBuilder 手动触发 AsyncSnapshot 错误

How to manually trigger AsyncSnapshot error with FutureBuilder

我尝试在调用 future 并获得响应时手动触发 snapshot.hasError。 比如我有一个未来

   Future<dynamic> getJson() {
     Dio dio = Dio();
     var response = dio.get("https://www.jsononline.com/posts?id=9999");
     if (response.statusCode == 200) {
       return response;
     } else {
      // return AsyncSnapshot error
      }
    }

我试过 return AsyncSnapshot.withError(ConnectionState.done, "An error occurred"); 但在 FutureBuilder 中 snapshot.hasError 仍然是空的,而是转到 snapshot.data.

我希望能够在收到 404 消息时触发错误。

Return

return Future.error("Error Info", StackTrace.fromString("StackTrace Error message"));