站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        golang怎么自定義錯誤

        golang怎么自定義錯誤

        在go里定義錯誤異常的方式有這么兩種,但都需要你的返回值是error類型的。

        func Control() error {       //xxxx }

        第一種方式是使用golang標(biāo)準(zhǔn)庫包errors 來定義錯誤。使用方法很是簡單,只需要 return errors.New(“string”) 。 這樣就是一個最簡單的錯誤返回。

        第二種方式是借用struct結(jié)構(gòu)體,創(chuàng)建一個struct的Error()方法,注意這個方法名是Error,不然會出現(xiàn)下面的Bug, 找不到Error方法。

        ./er.go:25: cannot use equalError literal (type equalError) as type error in return argument:     equalError does not implement error (missing Error method)

        下面是一個比較完整的Error的使用方法。不僅有errors,還有struct Error()方式.

        #http://xiaorui.cc package main   import ( 	"errors" 	"fmt" )   type equalError struct { 	Num int }   //方法名字是Error() func (e equalError) Error() string { 	return fmt.Sprintf("你現(xiàn)在是數(shù)字是 %d ,還是超了55", e.Num) }   func Equal(n int) (int, error) { 	if n > 55 { 		return -1, errors.New("超過了55") //生成一個簡單的 error 類型 	} 	return n, nil }   func DiyEqual(n int) (int, error) { 	if n > 55 { 		return -1, equalError{Num: n} // 會調(diào)用equalError的Error方法 	} 	return n, nil }   func main() { 	//使用errors.New生成error對象 	if result, err := Equal(100); err != nil { 		fmt.Println("錯誤:", err) 	} else { 		fmt.Println("結(jié)果:", result) 	}   	//不適用erros,自定義錯誤方式. 	if result, err := DiyEqual(100); err != nil { 		fmt.Println("錯誤:", err) 	} else { 		fmt.Println("結(jié)果:", result) 	}   }

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品久久久久国产A级| 国产精品污WWW一区二区三区| 精品久久久久久亚洲| 97精品人妻系列无码人妻| 99热精品在线| 青青草精品视频| 桃花岛精品亚洲国产成人| 91精品福利在线观看| 国产精品香蕉在线观看| 精品少妇无码AV无码专区| 国产精品对白交换视频| 无码国产亚洲日韩国精品视频一区二区三区 | 久久99热国产这有精品| 亚洲av成人无码久久精品| 久久影院综合精品| 国产精品久久久久…| 国产精品永久免费视频| 精品一区二区久久久久久久网站| 久久精品国产亚洲AV大全| 亚洲综合国产精品| 99精品国产一区二区三区| 久久亚洲国产成人精品性色 | 国产精品伊人久久伊人电影| 久久99精品综合国产首页| 3D动漫精品一区二区三区| 精品一区二区三区在线观看视频 | 99爱在线精品免费观看| 精品国产一区AV天美传媒| 亚洲国产一二三精品无码| 国产成人精品无码一区二区| 亚洲AV永久无码精品| 综合久久精品色| 精品午夜久久福利大片| 国产92成人精品视频免费| 国产国产精品人在线观看| 国产精品涩涩涩视频网站| 国产精品无码a∨精品| 国产精品视频一区二区三区四| 国产综合精品一区二区三区| 国产精品v片在线观看不卡| 大伊香蕉精品一区视频在线|