Go语言中的panic recover defer

时间:2014-08-28 16:23:10   收藏:0   阅读:208

panic 抛出异常
recover 捕获异常 捕获后会返回外层函数继续执行
defer 函数退出之前执行

func panicOut() {

print(5)
 panic("error")
 print(6)

}
func recoverHere() {

print(3)
 defer func(){
       err := recover()
       print(err)
 }()
 panicOut()
 print(4)

}

func outFunc(){

print(1)
 recoverHere()
 print(2)

}

func main(){

outFunc()

}

输出:
1
3
5
error
2

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!