Go 创建自定义错误类型
示例
在Go中,任何可以将自身描述为字符串的值均表示错误。任何实现内置error接口的类型都是错误。
//错误界面由单个表示
//Error()方法,返回错误的字符串表示形式
type error interface {
Error() string
}下面的示例演示如何使用字符串复合文字来定义新的错误类型。
//将AuthorizationError定义为复合文字
type AuthorizationError string
//实现错误界面
//在这种情况下,我只返回基础字符串
func (e AuthorizationError) Error() string {
return string(e)
}我现在可以将自定义错误类型用作错误:
package main
import (
"fmt"
)
//将AuthorizationError定义为复合文字
type AuthorizationError string
//实现错误界面
//在这种情况下,我只返回基础字符串
func (e AuthorizationError) Error() string {
return string(e)
}
func main() {
fmt.Println(DoSomething(1)) //成功!返回nil
fmt.Println(DoSomething(2)) //返回错误信息
}
func DoSomething(someID int) error {
if someID != 1 {
return AuthorizationError("不允许采取行动!")
}
//在这里做点什么
//如果执行成功,则返回nil错误
return nil
}
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短