关于go没有异常处理实际用起来会不舒服吗?

2012-11-17 10:34:13 +08:00
 flytwokites
http://www.infoq.com/cn/news/2012/11/go-error-handle
http://uberpython.wordpress.com/2012/09/23/why-im-not-leaving-python-for-go/

因为没异常所以一直没有要试试go的想法。Go作者那个回复没说到点上。

以前用java时候最烦那个checked exception,看上去go这个做法也有类似效果。
3494 次点击
所在节点    Go 编程语言
11 条回复
Muninn
2012-11-17 10:39:39 +08:00
写c的或许能习惯点。。。
可能我功力不够,最近也在思索那篇作者的解释有没有道理。
skydark
2012-11-17 13:08:47 +08:00
http://www.yosefk.com/blog/error-codes-vs-exceptions-critical-code-vs-typical-code.html
我更赞同这篇文章的观点。
简单地说,是人都会犯错。在一般情况下,用异常会很偷懒很省事。在很严肃的场合,用错误码更容易保证考虑周全。总之和应用领域有关。
reus
2012-11-17 13:54:30 +08:00
习惯就好了
VYSE
2012-11-17 17:28:00 +08:00
处理一个函数失败的正常逻辑是在函数结束后看其结果,而不是事先声明一个捕捉异常的环境,作为C程序员觉得事后GetLastError/errno + break/return/goto更适合演绎一段代码实际执行流程
myrual
2012-11-18 14:19:36 +08:00
我很少用异常,更喜欢线性的逻辑,当业务出错的时候,线性逻辑更加容易debug
guotie
2012-11-18 14:54:43 +08:00
个人认为,c/go的处理方式更好
picasso250
2012-11-18 19:04:49 +08:00
为啥go允许返回多个值?
hyq
2012-11-18 19:28:41 +08:00
用着就好,管它呢
BigZ
2012-11-19 14:21:25 +08:00
exception很有用,能有效的改善代码结构

用c写过复制功能的同学,就应该知道,有些时候用goto 非常合适
exception 相当于慢速版的goto,还能简化函数返回值的设计
reus
2012-11-19 14:44:48 +08:00
go也可以用goto
dancercl
2012-12-16 13:34:07 +08:00
难道panic和recover不算异常处理的一种方式吗?
预计有可能发生的错误用返回错误码来处理,完全意料之外的panic用recover来处理,这不是和C++/JAVA/C#一样的模式么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/52591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX