golang怎么进行错误处理

Golang通常有三种错误处理方式:错误哨兵(Sentinel Error)、错误类型断言和记录错误调用栈。错误哨兵指的是用特定值的变量作为错误处理分支的判定条件。错误类型用于路由错误处理逻辑,和错误哨兵有异曲同工的作用,由类型系统来提供错误种类的唯一性。错误黑盒指的是不过分关心错误类型,将错误返回给上层;当需要采取行动时,要针对错误的行为进行断言,而非错误类型。

golang怎么进行错误处理

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

golang没有提供try-catch类似的错误处理机制,在设计层面采用了C语言风格的错误处理,通过函数返回值返回出错的错误信息,具体样例如下:

func ReturnError() (string, error) {  return "", fmt.Errorf("Test Error") }  func main() {  val, err := ReturnError()  if err != nil {   panic(err)  }  fmt.Println(val) }
登录后复制

上面的例子是一个基本的错误处理样例,生产环境中执行的调用栈往往非常复杂,返回的error也各式各样,常常需要根据返回的错误信息确定具体的错误处理逻辑。【

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发