您是如何从PlatformException获得消息的



我在云函数中进行了一个https调用,如果条件失败,就会抛出一个错误,在flutter中我成功地处理了它,它向我显示了以下信息:PlatformException(函数错误,云函数异常失败,{code:failed_PRECONDITION,details:null,message:error:您的卡被拒绝。}(

但我想知道如何才能让消息部分显示给用户?到目前为止,我已经尝试了e.message,但不起作用

CloudFunctions(app: Firebase.app(), region: 'asia-southeast2')
.getHttpsCallable(functionName: 'addPayment')
.call({
'paymentMethodId': paymentMethod.id,
'userid': FirebaseAuth.instance.currentUser.uid,
}).catchError((e) => print('ERROR $e'));

这是我的功能

PlatformException类具有以下属性:

  • code→字符串错误代码。最终

  • details→动态错误详细信息,可能为null。最终

  • hashCode→int此对象的哈希代码。[…]只读,继承

  • message→字符串一条可读的错误消息,可能为null。最终

  • runtimeType→类型的运行时类型的表示形式对象只读,继承的

要处理它,您可以执行以下操作:

.catchError((e) {
if (e is PlatformException){
// Show e.details['message']
}else{
print('ERROR $e');
}
});
.catchError((error) {
String errorMessage = error.toString();
if (error is PlatformException &&
error.message != null &&
error.message!.isNotEmpty) {
errorMessage = error.message!;
}
}

相关内容

  • 没有找到相关文章

最新更新