在网络请求中我们封装了错误类。
代码如下:
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)错误。
网友评论