首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于HttpException未被捕获

关于HttpException未被捕获
EN

Stack Overflow用户
提问于 2020-06-16 21:10:59
回答 1查看 37关注 0票数 0

我正在尝试处理http错误,所以我创建了自定义的http异常类

代码语言:javascript
复制
class HttpException implements Exception {
  final String message;
  HttpException(this.message);
  @override
  String toString() {
    return message;
  }
}

并在http错误时抛出它

代码语言:javascript
复制
   Future<void> createProfile(Profile profile) async {
    try {
      var request =
          new http.MultipartRequest("POST", Uri.parse(APIPath.createProfile()));
          ...
      final response = await request.send();
      if (response.statusCode != 201) {
        ...
        throw HttpException(jsonResponse["error"]);
      }

      notifyListeners();
    } catch (error) {
      print(error.runtimeType); //<= prints HttpException
      throw error; 
    }
  }

当我试图捕获它时,它只在异常中被捕获,而不是在HttpExeption中。

代码语言:javascript
复制
      try {
        await Provider.of<User>(context, listen: false).createProfile(profile);

      } on HttpException catch (error) {
        print('Http exception'); //<- this is never reached
      } on Exception catch (error) {
        print(error.runtimeType); // <= prints HttpException
        print('exception'); //<- http exception caught here;
      } catch (error) {
        print('error'); 
      }

有没有可能在HttpException上处理http异常?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-16 23:33:31

引用的是来自dart-ioHttpException类,而不是自定义的“HttpException”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62409337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档