其实这两个问题都可以解决。
1. 可读性问题。可以通过定义宏(这个算是少见的合理应用宏)
RETURN_IF_ERROR(Foo());
2. 忘记检查返回值。可以用Status类,然后用编译工具来保证如果忘记使用返回的Status值则产生一个错误。
可以参见absl::Status
https://abseil.io/docs/cpp/guides/status
【 在 littleSram 的大作中提到: 】
: 是可能带来这两大问题
: 但是有趣的是 if err return 对我来说却没有这个问题
: 1.这种范式避免了较深的逻辑嵌套,反而读起来简单
: ...................
--
FROM 76.126.252.*