Go語言錯誤處理
Go編程提供了一個非常簡單的錯誤處理框架,下麵的聲明中內置錯誤接口類型:
type error interface { Error() string }
函數正常返回的錯誤作為最後返回值。使用errors.New構建一個基本的錯誤信息如下:
func Sqrt(value float64)(float64, error) { if(value < 0){ return 0, errors.New("Math: negative number passed to Sqrt") } return math.Sqrt(value) }
使用返回值和錯誤消息。
result, err:= Sqrt(-1) if err != nil { fmt.Println(err) }
例子
package main import "errors" import "fmt" import "math" func Sqrt(value float64)(float64, error) { if(value < 0){ return 0, errors.New("Math: negative number passed to Sqrt") } return math.Sqrt(value) } func main() { result, err:= Sqrt(-1) if err != nil { fmt.Println(err) }else { fmt.Println(result) } result, err = Sqrt(9) if err != nil { fmt.Println(err) }else { fmt.Println(result) } }
讓我們編譯和運行上麵的程序,這將產生以下結果:
Math: negative number passed to Sqrt 3