华为 HDC 发布 HarmonyOS 6 开发者 beta 版对应用开发者和鸿蒙生态有哪些影响?
如何评价京东方研发出 8K 240Hz a-Si 1G1D 大尺寸显示屏技术?为何称之为重大突破?
如果在山上挖一个池塘不放鱼,里面会慢慢有鱼吗?
大量消息在 MQ 里长时间积压,该如何解决?
中国现有的雷达技术能发现B2么?
你卡过最厉害的bug是什么?

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

发布日期:2025-06-25 23:45:16 浏览次数:0

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

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