【发布时间】:2021-03-11 20:44:30
【问题描述】:
我有 2 个 PlatformException 错误,一个是(电子邮件地址格式错误)另一个是(电子邮件地址已被另一个帐户使用),我知道如何使用 ( 在 PlatformException catch (err) {} catch (err) {} 上,但我怎样才能同时捕获它们?
【问题讨论】:
-
如果它们都是
PlatformException,那么on PlatformException catch (e)会同时捕获它们。另外,永远不要笼罩catch (e),因为这会隐藏您应该单独捕获和处理的各种细微错误。 -
源自哪个错误?听起来像是来自包的异常,而不是来自 Flutter SDK
-
@Bach 是的,这是 FireBaseAuth 包的一个例外(注册方法)
-
@Abion47 愿上帝原谅你(:我被困住了 4 小时,因为你告诉我永远不要做毯子抓(e)但是当我添加它时它起作用了哈哈,无论如何感谢你的帮助!
-
@kingstation99 不,关键是您不这样做,因为它是那些易于使用且易于滥用的解决方案之一。使用一揽子捕获可能会起作用,但是您现在在代码中有一个位置,如果出现任何问题,您将永远不会知道,除非它导致其他问题出错,然后您将花费数小时追踪源而不是您的应用程序崩溃你立即知道在哪里以及为什么。我不是说不使用它是因为它不起作用,我说不使用它是因为它是一种糟糕且懒惰的习惯,而且总体而言是一种不好的做法。
标签: firebase flutter dart firebase-authentication