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