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抛出的异常。