golang中创建错误的方法


本文摘自php中文网,作者尚,侵删。

在本教程中,我们会学习如何创建我们自己的自定义错误,并在我们创建的函数和包中使用它。我们会使用与标准库中相同的技术,来提供自定义错误的更多细节信息。

使用 New 函数创建自定义错误

创建自定义错误最简单的方法是使用 errors 包中的 New 函数。

在使用 New 函数 创建自定义错误之前,我们先来看看 New 是如何实现的。如下所示,是 errors 包 中的 New 函数的实现。

1

2

3

4

5

6

7

8

9

10

11

12

13

// Package errors implements functions to manipulate errors.

package errors

// New returns an error that formats as the given text.

func New(text string) error {

    return &errorString{text}

}

// errorString is a trivial implementation of error.

type errorString struct {

    s string

}

func (e *errorString) Error() string {

    return e.s

}

New 函数的实现很简单。errorString 是一个结构体类型,只有一个字符串字段 s。第 14 行使用了 errorString 指针接受者(Pointer Receiver),来实现 error 接口的 Error() string 方法。

第 5 行的 New 函数有一个字符串参数,通过这个参数创建了 errorString 类型的变量,并返回了它的地址。于是它就创建并返回了一个新的错误。

现在我们已经知道了 New 函数是如何工作的,我们开始在程序里使用 New 来创建自定义错误吧。

我们将创建一个计算圆半径的简单程序,如果半径为负,它会返回一个错误。

阅读剩余部分

相关阅读 >>

研究数组

golang 冒泡排序

使用gin封装一个web脚手架(五):实现session(上)

解决go升级到1.14后无法debug

聊聊dubbo-go-proxy的hostfilter

golang influxdb 基础入门

使用 google/wire 对 go 项目进行依赖注入

arts #5

golang 如何处理大数据

go中的方法与接收器

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...