问个问题
来源:3-12 api之数据库层实现_实现和验证Video
weixin_慕少9144449
2020-11-19
如果没搞错的话,3-12里面 defer 关闭数据库链接,应该是不会执行的吧?在defer还没加入栈的时候就已经return了err 实际上应该是不会运行到最后的defer close
写回答
1回答
-
艾文西
2020-11-24
是的,这里之前有人问过
defer放在最后为了防止报错前defer抛出空指针异常,不过这里有个小bug,放在函数入口会异常,放在第一个err后就能避免。
可以参考之前回答过的问题
https://coding.imooc.com/learn/questiondetail/182346.html
和
https://coding.imooc.com/learn/questiondetail/200261.html
00
相似问题