Go语言中Panic和Recover的作用

分类:知识百科 日期: 点击:0

Go语言中的Panic和Recover都是用来处理异常情况的,其中Panic是用来抛出异常,而Recover是用来恢复Panic抛出的异常。

Panic的使用方法

Panic函数的定义为:func Panic(v interface{}),其中v可以是任何类型,比如字符串,数字,字典,对象等。当在代码中调用Panic函数时,程序就会停止执行,并输出v的值,作为异常信息。

func TestPanic(t *testing.T) {
    defer func() {
        if err := recover(); err != nil {
            t.Log("panic:", err)
        }
    }()
    panic("panic test")
}

上面的代码中,调用了panic函数,传入的参数是字符串“panic test”,当调用panic函数时,程序就会停止执行,并输出“panic test”,作为异常信息。

Recover的使用方法

Recover函数的定义为:func Recover() interface{},当在代码中调用Recover函数时,程序就会恢复Panic抛出的异常,并返回Panic传入的参数值。

func TestRecover(t *testing.T) {
    defer func() {
        if err := recover(); err != nil {
            t.Log("recover:", err)
        }
    }()
    panic("panic test")
}

上面的代码中,调用了panic函数,传入的参数是字符串“panic test”,当调用panic函数时,程序就会停止执行,并输出“panic test”,作为异常信息。调用Recover函数,程序就会恢复Panic抛出的异常,并返回Panic传入的参数值,也就是“panic test”。

来说,Go语言中的Panic和Recover都是用来处理异常情况的,其中Panic是用来抛出异常,而Recover是用来恢复Panic抛出的异常。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。