panic

异常与错误

在Go语言中,错误被认为是一种可以预期的结果;而异常则是一种非预期的结果,发生异常可能表示程序中存在BUG或发生了其它不可控的问题。

Go 中主要通过 error 和 panic 分别表示错误和异常[2]

map
if v, ok := m["key"]; ok {
    return v
}

错误

error

error
type error interface {
    Error() string
}

内置的 error 接口使得开发人员可以为错误添加任何所需的信息,error 可以是实现 Error() 方法的任何类型,具体例子可参考[2][5]。

errors.New, errors.Is, errors.As, errors.Unwrapfmt.Errorf
erros.Iserrorerror.Aserr