十一、Golang学习笔记:Error异常处理


Golang中异常处理:异常概念、panic函数、异常处理过程、recover错误拦截。


异常概念

func main(){
    num := TestError(10,0)//除数为0明显错误,命令行报错
    fmt.Println(num)
}
func TestError(num1 int,num2 int) int{
    result := num1/numn2
    return result
}

panic函数

panic函数:程序员自己不会调用该函数,但是如果程序员自己写的程序中出现了比较严重的异常,那么系统内部会调用该函数,终止整个程序的执行。

func main(){
    Test()
}
func Test(){
    fmt.Println("hhh")
    panic("abc")//引发异常,从而强制终止整个程序的执行。
    fmt.Println("hello")
}

异常处理过程

func main(){
    num,err := TestError(10,0)//除数为0明显错误,命令行报错
    if err!=nil{
        fmt.Println(err)
    }else{
        fmt.Println(num)
    }
    fmt.Println(num)
}
func TestError(num1 int,num2 int) (result int,err error){//返回多个值
    err = nil
    if num2==0{
        err = errors.New("除数不能为0")//描述错误信息
        return
    }
    result = num1/numn2
    return
}

recover错误拦截

注意:recover只有在defer调用的函数中有效

func main(){
    Test(11)
}
func Test(n int){
    defer TestRecover()	//不会打印异常信息 拦截隐藏
    var num[10] int
    num[n] = 12	//下标越界
    fmt.Println(num)
}
func TestRecover(){
    fmt.Println(recover())	//使用fmt可以输出异常信息
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值