PHP转go刚入门。。我可以不写err != nil嘛?

weixin_38049686 2019-09-20 10:00:01
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳,
我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。
所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
...全文
44 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38066880 2019-09-20
  • 打赏
  • 举报
回复
最早我也讨厌err!=nil,后来在做应用时才知道,真是太有用了。有了它程序才更健壮,千万不要用_忽略。go开发的程序稳定性非常好。err的功劳最大。
weixin_38070905 2019-09-20
  • 打赏
  • 举报
回复
哈哈哈,今天我写 rpc 忽略了 其中一个 err ,找了半天才找到。。。
weixin_38078293 2019-09-20
  • 打赏
  • 举报
回复
从拍错的角度来说我不喜欢try cache
weixin_38097106 2019-09-20
  • 打赏
  • 举报
回复
这就是golang 语言的特性,我一开始 也不习惯,时间长了就习惯了 代码太丑了
weixin_38108526 2019-09-20
  • 打赏
  • 举报
回复
try-catch其实是很好用的 但是我才学Go 所以没法做比较,但是在java的经验看来,try-catch是个非常好的设计
weixin_38111164 2019-09-20
  • 打赏
  • 举报
回复
这点,我只能说各有优势。 try-catch我就举个反例,对于开发经验不足的人来说,try-catch会埋下无数坑。 他们不太喜欢错误处理,也不会花费精力思考每个调用异常的处理。 然后就会出现几种情况,外层捕获了,打印了日志以及错误堆栈对大多情况还是可以的。 但是偏偏有人喜欢吃掉堆栈,或者就不捕获。code review时,随着调用层数增多,就得花费更多的精力里里外外看一遍,思考是否存在问题。也就是开发人员将大量本应做的工作转嫁给review的人。如果没有review,那么就祈祷不会出错吧,至少祈祷日志包含了错误堆栈吧。 golang的这个不优雅,但是能告诉使用的人去正视错误,并思考如何处理
weixin_38111610 2019-09-20
  • 打赏
  • 举报
回复
try catch 在用户未处理异常时不作提醒,只有点进函数细节,才能看到throw的声明。 而err 在用户未处理时,编译报错,告知用户该函数有可能抛出错误,只有用户显式使用_才可以不处理err 二者的区别很明显,err的错误是否存在,是否该处理,完全可以由用户判断 而try catch,用户可能在不知情的情况下,忽略掉一下异常。
weixin_38128732 2019-09-20
  • 打赏
  • 举报
回复
https://studygolang.com/articles/20054 给你一个在GO里面写try catch的方法。
weixin_38132042 2019-09-20
  • 打赏
  • 举报
回复
可以用匿名变量_忽略返回值 result,_:=Test()
weixin_38144838 2019-09-20
  • 打赏
  • 举报
回复
这个是最简洁的错误处理之道了 人为传递错误出栈 减少你的出错率
weixin_38054276 2019-09-20
  • 打赏
  • 举报
回复
err存在的目的就是为了帮助分析处理可能出现的异常,或者记录。如果这些你都不想做,直接忽略就可以,当然没有问题
weixin_38058663 2019-09-20
  • 打赏
  • 举报
回复
像php那样你是准备 try catch还是什么都不写? try catch比if err!=nil废脑多了。
weixin_38062545 2019-09-20
  • 打赏
  • 举报
回复
err 用 _ 忽略就行了啊,在你认为出错的地方写上就OK了
weixin_38065454 2019-09-20
  • 打赏
  • 举报
回复
try catch和err != nil 是2种不同的错误处理模式啊。try catch是不管包含的范围内出现多少错误,什么错误一概捕获,然后该处理的处理,但实际使用都是直接向上层抛。而err != nil是为了精准的处理错误,控制程序异常,提高程序的健壮性,发现一个处理一个。

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧