开发手册 欢迎您!
软件开发者资料库

Go - 错误处理

Go Error Handling - 从简单和简单的步骤学习Go Library,从基本到高级概念,包括概述,环境设置,程序结构,基本语法,数据类型,变量,常量,运算符,决策,循环,函数,范围规则,数组,指针,结构,切片,范围,地图,递归,类型转换,接口,错误处理。

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 mainimport "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), nil}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 Sqrt3