Go - Error

Go - Error 首页 / Golang入门教程 / Go - Error

Go没有像Java中的try/catch这样的异常机制,我们不能在Go中抛出异常。

Go使用一种称为 defer-panic-and-recovering机制的机制。

Go通过返回错误对象来处理函数,方法的简单错误。错误对象可以是唯一或最后一个返回值。如果函数中没有错误,则错误对象为nil。

无论是否收到错误,我们都应始终在调用语句中检查错误。

链接:https://www.learnfk.comhttps://www.learnfk.com/go/go-error.html

来源:LearnFk无涯教程网

我们永远不要忽略错误,它可能导致程序崩溃。

去检测和报告错误情况的方法是

  • 一个可能导致错误的函数返回两个变量:一个值和一个错误代码,如果成功,则为nil;而如果= -nil,则为错误条件。
  • 在函数调用之后检查错误。如果发生错误(如果错误!= nil),则停止执行实际功能(或必要时整个程序)。

Go具有预定义的错误接口类型

type error interface {
   Error() string
}	

我们可以使用错误包中的error.New定义错误类型,并提供适当的错误消息,例如:

err := errors.New("math - square root of negative number")

Go Error示例

package main
import "errors"
import "fmt"
import "math"
func Sqrt(value float64) (float64, error) {
   if (value < 0) {
      return 0, errors.New("Math: negative number passed to Sqrt")
   }
   return math.Sqrt(value), nil
}
func main() {
   result, err := Sqrt(-64)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println(result)
   }
   result, err = Sqrt(64)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println(result)
   }
}

输出:

无涯教程网

Math: negative number passed to Sqrt
8

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

零基础学Python -〔尹会生〕

代码精进之路 -〔范学雷〕

Nginx核心知识150讲 -〔陶辉〕

TypeScript开发实战 -〔梁宵〕

全栈工程师修炼指南 -〔熊燚(四火)〕

雷蓓蓓的项目管理实战课 -〔雷蓓蓓〕

快手 · 移动端音视频开发实战 -〔展晓凯〕

AI大模型之美 -〔徐文浩〕

结构思考力 · 透过结构看表达 -〔李忠秋〕

好记忆不如烂笔头。留下您的足迹吧 :)