养龟玩龟的人可怕吗?
说说你为什么使用rust或者不用rust呢?
为什么 S.H.E. 三位成员的生活反转这么大?
非计算机专业,好奇为什么会出现“程序依赖bug运行”的情况?
鸿蒙电脑正式发布,今年的大一新生会不会扎堆购买鸿蒙电脑?
软件定制开发的价格为啥那么高?

为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?

发布日期:2025-06-27 21:05:15 浏览次数:0

因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个result和err的tuple是个product type,但两个只有可能有一个是合理的 对于这种情况如果要用类型来模拟错误的话最合理的是像rust这样定义一个 sum type,这样安全的很多 从软件工程角度 一般代码可以在顶层套一层捕获 碰到一个error直接抛出被接住中断procedure 而且多层嵌套也有traceback stack清晰标出调用关系 但go这种防御式编程直接把error当一个变量了 所以你学要手…。

为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?