知识卡片

error作为返回值而非异常

专业/工作 · 470.b.1.a.1.c.3.a.6.a.2.d.1.a.1.c

内容

Go 没有 try/catch 式异常机制,错误处理的惯例是让函数把 error 作为最后一个返回值一起交回 给调用者:约定成功时返回 nil,出错时返回一个具体的错误值,调用方必须显式检查这个返回值是 否为 nil 才能决定要不要继续往下走。发散:这把”这个调用可能会失败”这件事从一种可以被悄悄 忽略的隐藏跳转(异常抛出后如果没人接住就直接中断整个调用栈),变成了调用处一段肉眼可见、 必须主动处理的代码——代。

参考来源

- 位置:《Head First Go语言程序设计》第3章《调用:函数》(源文件:_epub-src/index_split_001.html) - 结论依据:原文在该章节围绕“Go没有try/catch式异常机制,错误处理的惯例是让函数把error作为最后一个返回值一起交回给调用者:约…”给出定义、示例或限制条件;摘录中的术语、代码片段或对比关系直接支撑本卡片的结论。 - 原始内容:keyboard import ( "bufio" "os" "strconv" "strings" ) func GetFloat() (float64, error) { // GetFloat code here... } 让我们在GitHub(一个流行的代码共享网站)上创建一个存储库来 保存代码。这样,其他开发人员就可以下载并在自…