感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳,
我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。
所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
这点,我只能说各有优势。
try-catch我就举个反例,对于开发经验不足的人来说,try-catch会埋下无数坑。
他们不太喜欢错误处理,也不会花费精力思考每个调用异常的处理。
然后就会出现几种情况,外层捕获了,打印了日志以及错误堆栈对大多情况还是可以的。
但是偏偏有人喜欢吃掉堆栈,或者就不捕获。code review时,随着调用层数增多,就得花费更多的精力里里外外看一遍,思考是否存在问题。也就是开发人员将大量本应做的工作转嫁给review的人。如果没有review,那么就祈祷不会出错吧,至少祈祷日志包含了错误堆栈吧。
golang的这个不优雅,但是能告诉使用的人去正视错误,并思考如何处理
#11
更多评论