go语言基础 错误 error

错误error

表示程序中的错误。
用法:用于函数多返回值。
func 函数名(参数列表)(返回值,error){

}
xx,err:=函数名()
if err == nil,函数执行无误,结果有效,可以继续向下执行
else err != nil,有错误产生了,函数执行过程中有问题。
error的类型:interface,系统的内置接口类型
type error interface{
Error() string //错误的信息
}
A:系统中提供好的error对象
errors.New() -->error
fmt.Errorf("")-->error
B:自定义类型
type RectError struct{
//field
}
//实现接口
func (r *RectError) Error() string{
}

package main

import (
   "fmt"
   "errors"
)

func main()  {
   /*
   error:Go中表示不正常的错误的类型。
      error,是interface类型,表示错误的
         errors.New(string)-->error
         fmt.Errorf(format)-->error
    */
    var err error
    fmt.Println(err) //<nil>
    err = errors.New("写着玩的")
    fmt.Println(err)
    fmt.Printf("%T\n",err) //*errors.errorString
    // 定义一个函数,用于检验年龄,如果为负数,返回一个error

    err2 := checkAge(-30)
    fmt.Println(err2)
    fmt.Printf("%T\n",err2)
    if err2 == nil{//无错误
      //...后序的操作
    }
    if err2 != nil{
      fmt.Println(err2)
      return
    }
}
//定义函数,检验年龄,
func checkAge(age int) error  {
   if age < 0{
      //返回error
      //return errors.New("年龄不能为负数")
      err := fmt.Errorf("您的年龄是:%d,不能为负数,所以不合法",age)
      return err
   }
   fmt.Println("年龄是合法的,", age)
   return nil
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值