- 用 defer 时,需要把 defer 代码放在最上方。
- recover 相当于 python 中的 except ,不要把任何错误都恢复掉。而是按照错误的类型,只恢复几类错误;recover 恢复的错误打印出来丢失堆栈信息,有时遇到严重的错误,直接崩掉然后再处理更好。
- 任何代码都需要经过充分的测试,go 的控制粒度比 python 细,这意味着犯错误的地方也比 python要多。
- 当代码的工作量很小,只在三五分钟内、只跑几千条数据时,一些潜在的bug并不会暴露出来,只有经历更长的时间、更大的量的考验,很多认为细枝末节的问题才会被放大。
- 有的时候,适合底层代码把错误处理掉(即recover),有的时候更适合底层代码不管错误,错误上报,在恰当的时机去处理错误。
go 的错误处理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...