目录
描述
errors.New()函数根据传入的字符串返回一个error类型。
语法和参数
需导入Go原生包errors
import errors
函数签名:
func New(text string) error
名称 | 含义 |
text | 描述错误信息的字符串 |
返回值
errors.New()函数返回一个error类型。
使用示例
如下面的代码所示,定义一个函数divsion,若number2为0,则返回一个error,表示除数为0。
func division(number1, number2 int) (float64, error) {
if number2 == 0 {
return 0.0, errors.New("division by zero")
}
return float64(number1) / float64(number2), nil
}
注意事项
错误值
即便文本相同,每次调用errors.New()函数都会返回一个不同的错误值。因此不能直接拿error类型做比较。
package main
import (
"errors"
"fmt"
)
func main() {
err1 := errors.New("division by zero")
err2 := errors.New("division by zero")
err3 := errors.New("unknown error")
fmt.Println(err1 == err2) // false
fmt.Println(err1 == err3) // false
fmt.Println(err1.Error() == err2.Error()) // true
fmt.Println(err1.Error() == err3.Error()) // false
}
错误文本描述规范
错误字符串不应该大写或以标点符号结尾。不过就算违背这条规范将字符串传入,Go也不会报错。