golang 的错误处理真的很糟糕
一直用 golang ,一直有人吐槽 golang 错误处理很繁琐,一开始觉得还好,直到遇见了 rust 。不得不说 rust 错误处理真的很优雅。写了一段时间 rust 反过来写 golang ,繁琐感瞬间就出来了
确实,看过 rust 就觉得 go 的 err 有点...
我见过吐槽 go 的 err 的,下都都会用 java 来反驳,来证明 go 的 err 是最优雅的
Box
github.com/morrisxyang/errors, 这里实现了 wrap, unwrap 等常见能力, 添加了错误码和堆栈的支持.rust 的 pattern matching 可以给我一些 example 和资料吗? 我看看是否可以添加.
现在 go 错误处理比刚出来的时候好多了,繁琐是有点,但是没啥心智负担(对写应用来说),只是和 rust 比起来显得有点草率,基本和 rust 无脑 anyhow::Error 一样
if err != nil
感觉,rust>go>其他绝大部分 try-catch
大道至简 警告[滑稽]
接触 go 之前一直写 c ,go 这种错误处理方式倒觉得挺适应的
try-catch 比 go 的 error 更恶心
try-catch 多被用于异常处理,控制流来说是快速返回调用栈的作用(stack unwinding),C 里也有类似的 setjmp,longjmp 机制。而 go 里 error 是多返回值,绝大多数语言其实也都可以实现类似的方案。
同意 java 到处充斥这个 try catch 一层套一层
golang 的很糟糕,rust 比 golang 好在哪里?
我们 go 语言错误处理就是这样子的 (#^.^#)
golang 官方解释说:异常也被认为是一种返回值类型
Java 的 try catch 不是能在最外层统一处理吗?我感觉这样挺省事的啊,反而是 go 每一层都要 if err != nil 感觉很啰唆
月经贴了属于是
个人觉得 java 的报错摆烂处理方便些; golang 精确处理方便些rust 怎么都方便
意思是直接 panic 抛出然后拿个 defer recover 统一处理?
rust 主要是有个 Result 枚举类型,以及语法糖'?',再加上一些 map_err unwrap_or 函数之类的,go 能做吗?
确实,相比 try-catch ,go 的错误处理相对好很多了,但比 rust 还是差一些
很多语言都是 try catch 那套吧? Java 主要是检查性异常必须捕获就很恶心了,但是现在也可以用 lombok 插件加个
go 的 if err != nil {} 比 java 的 try catch 难用多了.. 这玩意儿每个地方都要强制 if err!=nil {}一波 rust 的还可以. 毕竟可以? 直接往外面传播. 可以在最外层统一处理.
四年前的手机,不玩游戏,理论上性能是完全够用的,但实际使用过程中经常发生卡顿,比如安装和更新 app 时卡的不行,使用 QQ 如果多开其他程序会闪退之类的。 打算想个办法维护换…
本人专科毕业,目前做了三年的爬虫开发,平时偶尔用一些 flask 和 fastApi ,基本的数据库和 redis 也懂一些。 现在感觉爬虫这个方向的前景不太好,一个是灰产,一…
京东上现在套装只需要 2100 多,比起群晖性价比太高了 如果合适的话,系统应该选啥,平时就存些电影供局域网观看,备份文件,跑跑自己写的代码啥的 硬盘位不够吧,CPU 肯定是…