Dart 特定错误的错误处理

2024-01-10

我想处理 Dart 中可能发生的不同错误。 我正在使用 try/catch,但想知道如何确定可能发生的不同错误。 例如,当没有网络连接时,我会出现此错误:

PlatformException(Error 17020, FIRAuthErrorDomain, Network error (such as timeout, interrupted connection or unreachable host) has occurred.)

当用户名/密码不正确时出现此错误:

PlatformException(Error 17009, FIRAuthErrorDomain, The password is invalid or the user does not have a password.)

我想根据发生的错误采取不同的操作。 这里最好的方法是什么? 更新:最终使用以下方式!

import 'package:flutter/services.dart' show PlatformException;

try {
      //Something!

    } on PlatformException catch (e) {
      switch (e.code) {
        case "Error 17009":
          // handle
          break;
        case "Error 17020":
          // handle
          break;
        case "Error 17011":
          //handle
          break;
        default:
          throw new UnimplementedError(e.code);
      }
    }

我会用一个try/catch and a switch/case:

import 'package:flutter/services.dart' show PlatformException;


try {
  ...
} on PlatformException catch(e) {
  switch(e.code) {
    case '17009':
      // handle
      break;
    case '17020':
      // handle
      break;
    default:
      throw new UnimplementedError(error.code);
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Dart 特定错误的错误处理 的相关文章

随机推荐

  • 如何实现更通用的reduce函数以允许提前退出?

    reduce aka foldL FP 是 Javascript 中最通用的迭代高阶函数 例如 您可以实施map or filter按照reduce 我使用了命令式循环来更好地说明该算法 const foldL f gt acc gt xs
  • 在 React Native Expo 应用程序中无需密钥即可解码 JWT 令牌

    我的应用程序当前正在博览会上运行 我需要一种方法来解码从后端收到的 JWT 令牌 当我使用jwt io它不需要密钥来解码 但我似乎找不到支持博览会的库不需要密钥来解码 我尝试使用下面的代码在没有库的情况下对其进行解码 但它不起作用 JSON
  • Matlab:如何从外部API调查编译后的m代码进度?

    我的问题非常具体于 matlab 编译器和运行时的奥秘 只有熟悉 matlab 运行时 API 的人才能回答 我缩短了很多细节 请让我知道我是否应该更详细 介绍 使用 matlab 编译器和运行时 我可以从 C 程序调用用 m 代码编写的函
  • Dagger 和 Butter Knife 与 Android 注释

    我正在评估 Android 应用程序的依赖注入 DI 框架 最有力的竞争者是 Dagger 带有黄油刀 和 Android Annotations 据我了解 Dagger 和 ButterKnife 是同源的 而且是相辅相成的 以下是我正在
  • 如何知道浏览器是否有PDF阅读器?

    我正在 iframe 中查看 PDF 效果很好 但有些客户端在 IE 中看不到它 他们将其作为下载选项 如何识别浏览器是否有pdf查看器并提示用户没有pdf查看器 注意 我使用的是 asp net mvc 5 c I tried this
  • Java中如何捕获异常并继续处理

    我有一个应用程序 在循环期间处理 5000 个文件到 6000 个文件 在 try and catch 块中 我正在读取 Excel 文件并处理每个单独的单元格 当然 所有文件都采用相同的格式 但在某些文件中 单元格中的数据可能会有所不同
  • 如何将对象数组转换为具有键值对的对象

    我想将对象数组转换为JavaScript中具有键值对的对象 var arr name1 value1 name2 value2 我怎样才能将它转换为一个对象 例如 name1 value1 name2 value2 我希望大多数浏览器都支持
  • Tomcat JDBC MySQL ClassNotFoundException

    我想在我的 tomcat 7 服务器 在我的 Mac 上本地运行 上使用 springMVC 和 JPA 使用 hibernate 我能够使用嵌入式 H2 数据库成功设置一切 现在我切换到mysql并收到以下错误 java lang Cla
  • 魔法记录 - 在主线程块 ui 中获取,在后台返回 nil

    我是 Magical Record 的新手 但已经在 stackoverflow 上看到了一些问题 但找不到我的问题的答案 我必须使用这种类型的构造来查找带有谓词的项目 NSArray result MOSomeItems MR findA
  • Heroku 错误:页面已通过 HTTPS 加载,但请求了不安全的脚本“angular-route.js”

    我已经部署了我的nodejs app to heroku 我有下面这个文件作为我的index html但不知何故heroku向我抛出此错误消息到 chrome 开发者控制台 F12 Error 混合内容 页面位于 https small t
  • C#:在什么情况下应该清空引用?

    CLR Profiler 还可以揭示哪些方法分配的存储空间超出您的预期 并且可以发现您无意中保留对无用对象图的引用的情况 否则这些对象图可能会被 GC 回收 一个常见的问题设计模式是软件缓存或不再需要的项目的查找表 或者以后可以安全地重建
  • crosstools-ng 找不到 pthread.so

    我正在尝试使用 crosstools ng 编译使用 pthread 的程序 但是由于某种原因链接器找不到该库 我已经检查过 库位于指定的链接路径中 L是论据 这是错误 home raspberrypi toolchain lib gcc
  • 如何用数据存储而不是数据库来思考?

    例如 Google App Engine 使用 Google Datastore 而不是标准数据库 来存储数据 有人对使用 Google Datastore 而不是数据库有什么建议吗 看来我已经训练自己的思维 100 思考直接映射到表结构的
  • Google+ API:如何使用 RefreshTokens 避免每次应用程序启动时都请求访问权限?

    我正在尝试使用 Google API 来访问经过身份验证的用户的信息 我从其中一个示例中复制了一些代码 该代码运行良好 如下 但是我无法使其以跨应用程序启动重用令牌的方式运行 我尝试捕获 RefreshToken 属性并使用provider
  • Python 中均值和协方差的快速增量更新

    我有一个 Python 脚本 需要经常更新均值和协方差矩阵 我目前正在做的是 每次获得新数据点 x 向量 时 我都会重新计算平均值和协方差 如下所示 data append x My data is just a list of lists
  • 当命令行开关接受管道输入时,ByPropertyName 和 ByValue 之间有什么区别?

    一些 PowerShell commandlet 接受管道输入 ByProperyName 一些接受 ByValue 另一些则同时接受两者 这是什么意思 它如何影响我们的 PowerShell 脚本 The ValueFromPipelin
  • 从Java中的字符串中删除所有非“单词字符”,留下重音字符?

    显然 当我使用 Regex 时 Java 的 Regex 风格将变音符号和其他特殊字符计为非 单词字符 TEST TEST replaceAll W 为我返回 TESTTEST 我想要的是只删除所有真正的非 单词字符 任何方法都可以做到这一
  • 如何使用“?”路由查询字符串以及如何处理

    在我的全局 asax 文件中 我想映射如下所示的路线 http domain com add link url http 3A 2F 2Fgoogle com 然后使用我的 LinkController 和名为 Add 的操作来捕获它 我这
  • 使用正则表达式进行用户代理解析

    我在网上找到了一种在 iPhone 上查看 Ruby on Rails 应用程序时分离视图的方法 它会解析用户代理来检测这一点 我专门针对 iOS 4 2 因为以前的版本不支持我的应用程序所需的 HTML5 Web Sockets 到目前为
  • Dart 特定错误的错误处理

    我想处理 Dart 中可能发生的不同错误 我正在使用 try catch 但想知道如何确定可能发生的不同错误 例如 当没有网络连接时 我会出现此错误 PlatformException Error 17020 FIRAuthErrorDom