flutter ui_dart_state.cc(199)解决方

2021-09-16  本文已影响0人  東玖零

在网络请求中我们封装了错误类。
代码如下:

class RequestError {
  int code = 0;
  String message = "";

  RequestError(int code, String message) {
    this.code = code;
    this.message = message;
  }

  @override
  String toString() {
    return "code $code, message $message";
  }
}

当请求失败时返回一个错误:

return Future.error(RequestError(501, "请求失败"));

结果一直打印以下错误:

[VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception

经过查对比源码中的其他错误,自定一个错误类正确代码如下:

class RequestError implements Error {
  int code = 0;
  String message = "";

  RequestError(int code, String message) {
    this.code = code;
    this.message = message;
  }

  @override
  StackTrace? get stackTrace => throw RequestError(code, message);

  @override
  String toString() {
    return "code $code, message $message";
  }
}

实现Error的StackTrace? get stackTrace方法后就不在打印ui_dart_state.cc(199)错误。

上一篇下一篇

猜你喜欢

热点阅读