【问题标题】:The better way of Error Handling In AndroidAndroid中错误处理的更好方法
【发布时间】:2021-02-18 04:02:33
【问题描述】:

假设我的应用中有这个架构

我的问题是处理错误的最佳时间是什么时候?

  1. 我是不是应该让网络源和缓存源抛出错误,我们在存储库层处理所有可能的错误
  2. 我是否应该处理特定框架中的错误,并返回一个密封类,该类存在网络调用错误或成功

【问题讨论】:

    标签: android performance kotlin android-mvvm android-architecture


    【解决方案1】:

    取决于用例

    • 如果用户期待数据,那么您需要将错误一直发送到您的UI 以通知用户,以确保用户不会只看到空白屏幕或遇到意外的 UI。对于这种情况,您可以在 Kotlin 中密封类。
    • 如果您正在获取用户不知道的内容,例如在后台将数据从远程同步到本地缓存,在这种情况下,用户不知道/不关心错误,您的应用应该处理。理想的方法是检查存储库中的处理错误,如果出现故障,在那里重试或从备用源获取数据等。
    • 第三种情况将在多个级别进行处理,假设您正在从网络获取数据,但它失败了,您可以在存储库级别处理重试逻辑,并且在您用尽重试尝试但仍然失败后,您需要确认用户为他可能期待一些东西出现。

    【讨论】:

    • 所以第一种情况是使用第一个选项?第二种情况可以通过使用第二个选项来处理吗?第三种情况是它们的混合? .所以我认为你的观点是这两个选项取决于它的情况?对吗?
    • 绝对是的!
    • 谢谢兄弟,非常感谢您的回答。一个很好的新见解
    • 很高兴我能提供帮助,如果您认为它回答了您的问题,请接受并支持它!快乐编码
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多