问答详情
源自:8-3 Go语言异常处理——panic

为什么defer调用recover要在panic之前,放到后面就报错

RT。defer不是在函数关闭的时候才执行么。为什么还有顺序关系

https://img3.mukewang.com/5d28211a0001071b24081498.jpg

https://img1.mukewang.com/5d28211a00012cae24201488.jpg


提问者:qq_熊掌柜__0 2019-07-12 13:57

个回答

  • qq_熊掌柜__0
    2019-07-12 14:02:34

    想通了,因为放在后面的话,panic抛出异常,不再执行下面代码。调用不了defer。所以必须放到前面。通过defer的特性最后执行获取到的异常