flutter - Dart 方法有错误但不返回错误
问题描述
我正在查看颤振的 firebase 身份验证文档。
具体来说,我正在查看这些文档中的 FirebaseAuth.createUserFromEmailAndPassword 方法。
在文档中,它列出了三个错误。但是我很困惑这些错误是如何传回给调用者的。它没有提供有关这些错误类型的信息。我在这里真的很困惑。如果它不返回错误类型,并且不将错误输出参数作为输入,那么该方法应该如何传达错误?
显然有三个错误只是漂浮在以太中,我无法掌握大声笑。
解决方案
该方法将抛出一个AuthException
. 异常将有一个code
字段。代码字段的内容将准确解释问题所在。
- ERROR_WEAK_PASSWORD - 如果密码不够强。
- ERROR_INVALID_EMAIL - 如果电子邮件地址格式错误。
- ERROR_EMAIL_ALREADY_IN_USE - 如果电子邮件已被其他帐户使用。
你可以像处理 Dart 中的任何其他异常一样处理这些错误:使用 try/catch。
try {
var result = await FirebaseAuth.createUserFromEmailAndPassword(...);
} catch (e) {
if (e is AuthException) {
switch (e.code) {
case 'ERROR_WEAK_PASSWORD':
// Handle weak password
break;
case 'ERROR_INVALID_EMAIL':
// Handle invalid email
break;
case 'ERROR_EMAIL_ALREADY_IN_USE':
// Handle email in use
break;
}
} else {
// An error other than an AuthException was thrown
}
}
推荐阅读
- c# - 从运行时类型 C# 创建填充列表<>
- javascript - 使用@ApplicationPath时如何在不使用Node.js的情况下正确地在jsp中从Websphere上的jax rs服务重定向中提供静态文件
- ios - 如何在 Visual Studio Code 中为 Flutter 添加 iOS 模拟器?
- javascript - 如何根据颜色对数据进行分组并在反应中求和相同的大小
- perl - 获取 LWP::Simple 头部请求失败的原因
- kotlin - 如何在辅助构造函数中初始化变量并在kotlin中调用super?
- python - 具有多种产品的 django paypal 返回贝宝测试商店
- compiler-construction - Lexer 是否应该即时返回令牌列表或令牌
- oracle - ORACLE 数据库的初始化在单元测试中
- python - LSTM 自动编码器噪声重建