相信大家在使用go语言开发的,遇到很多不熟悉或者是很多难得点吧,其中针对go语言的异常捕获,和其他的语言不一样,使用起来相信大家也不知道怎么使用,接下来会写一个小例子,希望大家从小例子中掌握异常捕获
go
func TestGoCountDown(t *testing.T) {
fmt.Println("start")
worker()
fmt.Println("end")
}
func worker() {
// 在这里进行一个异常的捕获,后面的异常会在这里捕获到,并不会影响 end的输出
defer func() {
if e := recover(); e != nil {
fmt.Printf("Panicing %s\r\n", e)
}
}()
badCall()
fmt.Println("After bad call")
}
func badCall() {
panic("bad call")
}