当前位置: 首页 > 面试题库 >

出错处理技术

孟子墨
2023-03-14
问题内容

我刚刚开始使用Go。我的代码开始有很多这样的东西:

   if err != nil {
      //handle err
   }

或这个

  if err := rows.Scan(&some_column); err != nil {
      //handle err
  }

在Go中检查和处理错误是否有一些好的习惯用法/策略/最佳实践?

编辑澄清:我不是在鼓动或建议Go团队提出更好的建议。我问的是我做对了还是错过了社区提出的一些技巧。谢谢大家


问题答案:

您的代码是惯用的,我认为这是可用的最佳实践。有些人肯定会不同意,但我会认为这是Golang中所有标准库中都看到的样式。换句话说,Go作者以这种方式编写错误处理。



 类似资料:
  • Logcat: 致命异常:IntentService[BMI]进程:用户。通用域名格式。test2,PID:3377 java。lang.NullPointerException:尝试调用虚拟方法“java”。字符串java。朗,反对。服务上的空对象引用上的toString()。SendBpRecordServer。android上的onHandleIntent(sendbRecordServer

  • 我正在发送一个json请求,并在python flask服务中捕获请求参数以进一步处理。但是,当我json转储请求并试图从中收集特定的参数值时,它会给我带来错误 “字符串索引必须是整数,而不是字符串” 这是我在python flask中解析的json: 我不知道我做错了什么。 下面是我的python烧瓶代码:

  • 本文介绍了如何使用 DM 来处理出错的 SQL 语句。 目前,TiDB 并不完全兼容所有的 MySQL 语法(详见 TiDB 已支持的 DDL 语句)。当使用 DM 从 MySQL 迁移数据到 TiDB 时,如果 TiDB 不支持对应的 SQL 语句,可能会造成错误并中断迁移任务。在这种情况下,DM 提供 handle-error 命令来恢复迁移。 使用限制 如果业务不能接受下游 TiDB 跳过异

  • 我面临着以下问题,却没有找到真正的解决办法。我试图在没有运气的情况下添加房间库。每次我都会遇到这个错误: 这是我的build.gradle(模块) 实体: 我的课: 我的数据库: 从应用程序创建实例: 嗯,错误还不清楚,我一直在寻找解决办法。 如果我删除MyDatabase类,构建过程将成功结束。我想问题出在这门课上,但我找不到。

  • 通过对错误类型实现 Display 和 From,我们能够利用上绝大部分标准库错误处理工具。然而,我们遗漏了一个功能:轻松 Box 我们错误类型的能力。 标准库会自动通过 Form 将任意实现了 Error trait 的类型转换成 trait 对象 Box<Error> 的类型(原文:The std library automatically converts any type that imp

  • 原木 templateProcessingException:在org.thymeleaf.processor.element.abstractAttributeTrocessor.doProcess(abstractAttributeTrocessor.java:117)~[thymeleaf-3.0.9.release.jar:3.0.9.release]在org.thymeleaf.proc