糊你大熊脸
2017-12-21 15:29
在实例中的代码 defer对于拦截panic函数的位置是怎么确定的?当我把defer放在即将出错的行数前面,则能出现实例中正确的输出,但是后面就会在控制台报错
//前面
fmt.Println("Enter main")
outerFunc()
//后面
fmt.Println("Quit main")
panic在 outerFunc()方法里,你写在后面的位置,panic导致程序崩溃,系统去找defer的时候,还没有执行到,自然也就找不到.
应该是defer 这个语句,只有程序执行到这一行才有效吧.
Go语言第一课
107795 学习 · 148 问题
相似问题