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 公司年终晚会祝福语简短
18 恭喜订婚的祝福语简短