首页后端开发其他后端知识Go语言中错误抛出怎么实现,错误处理策略有什么

Go语言中错误抛出怎么实现,错误处理策略有什么

时间2024-03-26 13:10:03发布访客分类其他后端知识浏览1096
导读:这篇文章主要介绍了title,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望大家通过这篇文章可以有所收获。 Go语言没有提供像Java、C#语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛。...
这篇文章主要介绍了title,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望大家通过这篇文章可以有所收获。


Go语言没有提供像Java、C#语言中的try...catch异常处理方式,而是通过函数返回值逐层往上抛。

Go标准包提供的错误处理功能:

error是个interface:

type error interface {

    Error() string
}

如何创建error:

// example 1
func Sqrt(f float64) (float64, error) {

    if f  0 {

        return 0, errors.New("math: square root of negative number")
    }

    // implementation
}


// example 2
if f  0 {

    return 0, fmt.Errorf("math: square root of negative number %g", f)
}

如何自定义error:

// errorString is a trivial implementation of error.
type errorString struct {

    s string
}


func (e *errorString) Error() string {

    return e.s
}
    

go语言中一般有三种错误处理策略:

1、返回和检查错误值:通过特定值表示成功和不同的错误,上层代码检查错误的值,来判断被调用func的执行状态

2、自定义错误类型:通过自定义的错误类型来表示特定的错误,上层代码通过类型断言判断错误的类型

3、隐藏内部细节的错误处理:假设上层代码不知道被调用函数返回的错误任何细节,直接再向上返回错误

error interface 的 Error 方法的输出,是给人看的,不是给机器看的。我们通常会把Error方法返回的字符串打印到日志中,或者显示在控制台上。永远不要通过判断Error方法返回的字符串是否包含特定字符串,来决定错误处理的方式。


以上就是关于“Go语言中错误抛出怎么实现,错误处理策略有什么”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Go语言中错误抛出怎么实现,错误处理策略有什么
本文地址: https://pptw.com/jishu/653520.html
Node.js模块化开发有什么好处,怎么实现 用PHP如何实现排课的效果?教你两种技巧

游客 回复需填写必要信息