go语言错误类型

1.考虑的error的使用原因
error类型本身就是一个预定义好的接口,里面定义了一个method
type error interface {
Error() string//定义一个error()的方法
}
2如何完成error的第一个简单的调用,输出的格式err:=fmt.Errorf("%s",“error:this is error”)
func main() {
//方法一:
//采用errors包的New方法 返回一个err的类型
var err error = errors.New(“this is a new error”)
//由于已经实现了error接口的方法 因此可以直接调用对应的方法
fmt.Println(err.Error())

//方法二:
//采用fmt.Errof 将string信息转化为error信息 并返回
err = fmt.Errorf("%s", "the error test for fmt.Errorf")
fmt.Println(err.Error())
//方法三:json串的方式
//采用自定义的方式实现一个error的 一个duck 类型
err = &Customerror{
	infoa: "err info a",
	infob: "err info b",
	Err:   errors.New("test custom err"),
}

fmt.Println(err.Error())

}

package main

import (
“errors”
“fmt”
)

func main() {
err:=fmt.Errorf("%s",“error:this is error”)
fmt.Println(“err=”,err)
err2:=errors.New(“this is norrow error”)
fmt.Println(“err2”,err2)
}
2.error在做返回值时候的使用方式,定义一个函数方法的同时,
3.整个思路:func xxx( byte)(XX byte,err error){
进行if的条件判断{
Fmt.errorf(xxxx)
}else{
xxxx
}
做返回值return
}
主函数的使用
Func main(){
返回值1,返回值(err):=返回的函数实参传递
判断err是否为空
并格式化输出
打印返回的参数值
package main

import “fmt”

func MyFunc(a,b int)(result int,err error){
if b==0{
fmt.Errorf(“err=”,“分母不可以为0”)
}else {
result=a/b
}
return
}

func main() {
//MyFunc(10,0)
result, err := MyFunc(10, 0)
if err != nil {
fmt.Printf("%+v\n", err)
} else {
fmt.Println(“result=”, result)
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值