社区
其他技术讨论专区
帖子详情
PHP转go刚入门。。我可以不写err != nil嘛?
weixin_38049686
2019-09-20 10:00:01
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳,
我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。
所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
...全文
47
14
打赏
收藏
PHP转go刚入门。。我可以不写err != nil嘛?
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳, 我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。 所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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是为了精准的处理错误,控制程序异常,提高程序的健壮性,发现一个处理一个。
api-quickstart:如何在 Python、Node.js、
PHP
、Go、Java 等中访问 WhiteBIT API 的示例
**WhiteBIT API 快速
入门
** WhiteBIT 是一个知名的加密货币交易平台,提供了丰富的 API 接口,允许开发者在各种编程语言中与平台进行交互,包括获取市场数据、执行交易操作等。本指南将深入讲解如何在 Python、Node...
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
iris请求注入流程浅析,从零基础到精通,收藏这篇就够了!
/ bindings是在iris.Application...=
nil
{continuereturn// 调用controller的业务逻辑// 请求结果分发处理
err
!=
nil
{篇头说过,注入模块有两部分,一部分是一开始的初始化,一部分是请求处理时的注入,这里的是注入。
iris请求注入流程浅析,(非常详细)从零基础到精通,收藏这篇就够了!
/ bindings是在iris.Application...=
nil
{continuereturn// 调用controller的业务逻辑// 请求结果分发处理
err
!=
nil
{篇头说过,注入模块有两部分,一部分是一开始的初始化,一部分是请求处理时的注入,这里的是注入。
其他技术讨论专区
473
社区成员
791,201
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章