久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

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

      golang怎么自定義錯(cuò)誤

      golang怎么自定義錯(cuò)誤

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

      func Control() error {       //xxxx }

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

      第二種方式是借用struct結(jié)構(gòu)體,創(chuàng)建一個(gè)struct的Error()方法,注意這個(gè)方法名是Error,不然會(huì)出現(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)

      下面是一個(gè)比較完整的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") //生成一個(gè)簡單的 error 類型 	} 	return n, nil }   func DiyEqual(n int) (int, error) { 	if n > 55 { 		return -1, equalError{Num: n} // 會(huì)調(diào)用equalError的Error方法 	} 	return n, nil }   func main() { 	//使用errors.New生成error對象 	if result, err := Equal(100); err != nil { 		fmt.Println("錯(cuò)誤:", err) 	} else { 		fmt.Println("結(jié)果:", result) 	}   	//不適用erros,自定義錯(cuò)誤方式. 	if result, err := DiyEqual(100); err != nil { 		fmt.Println("錯(cuò)誤:", err) 	} else { 		fmt.Println("結(jié)果:", result) 	}   }

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)