社区
其他技术讨论专区
帖子详情
PHP转go刚入门。。我可以不写err != nil嘛?
weixin_38049686
2019-09-20 10:00:01
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳,
我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。
所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
...全文
44
14
打赏
收藏
PHP转go刚入门。。我可以不写err != nil嘛?
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳, 我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。 所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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是为了精准的处理错误,控制程序异常,提高程序的健壮性,发现一个处理一个。
golang
入门
笔记—数据库操作
//Go连接MySQL示例 func connect()(
err
err
or) { //数据库信息 dsn := "root:******@tcp(localhost:3306)/login" //"用户名:密码@[连接方式](主机名... //连接数据库 ... if
err
!=
nil
{ //dsn格式不正确时报错 fmt.P
Go语言
入门
经典第19章
1.打印状态码 package main import ( "fmt" ...) func main() { ... response,
err
:= http.Get...=
nil
{ fmt.Println("http get
err
or",
err
) return } defer response.Body.Close() fmt.Println(response.Statu
Java开发人员的Go语言
入门
01-Go语言介绍
官方文档 Golang简称为Go,官方网站https://golang.org已迷失,可以通过如下国内的网站上手...Go语言目前还是是小而美的语言,夸张的说法:全中国大概60%的开发岗位与java有关,而Go? 作为一个程序员,掌握底层的知
试试动 Go recover 刀子,看看能不能优化错误处理?
Go 的错误处理一直是表现最突出的一块地方,许许多多的同学都提出了各种提案,例如:引入 try-catch、用 panic 代替 if
err
!=
nil
、引入新的关键字等。但这些都被一一驳回了。不过社区依然还没放弃,周末看到有一个...
Go基础:常见的json包--encoding/json、easyjson、ffjson、json-iterator/go
本文对常见的json包做一些介绍,方便快速
入门
。每一小节均有示例说明。大家在实际开发中可以选择适合自己的json包。 encoding/json encoding/json是官方提供的标准json, 实现RFC 7159中定义的JSON编码和解码。 ...
其他技术讨论专区
433
社区成员
791,270
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章