ormandi commented on issue #14: URL: https://github.com/apache/iceberg-cpp/issues/14#issuecomment-2610408311
+1 for Status/StatusOr/`RETURN_IF_ERROR`/`ASSIGN_OR_RETURN` combo (more about some of these: https://abseil.io/docs/cpp/guides/status). In fact, I'd probably just depend on these: - https://github.com/abseil/abseil-cpp/blob/master/absl/status/status.h - https://github.com/abseil/abseil-cpp/blob/master/absl/status/statusor.h These are battle tested, explicit constructs with [good test gtest integration](https://github.com/abseil/abseil-cpp/blob/master/absl/status/status_matchers.h), compile time support and it is not so verbose with the proper use of `RETURN_IF_ERROR` and `ASSIGN_OR_RETURN` in my opinion which are unfortunately [not part of the public API of abseil ](https://github.com/abseil/abseil-cpp/issues/976), but they are ubiquitous constructs (they are in [apache-arrow](https://arrow.apache.org/cookbook/cpp/basic.html#id8), [protobuf](https://github.com/search?q=repo%3Aprotocolbuffers%2Fprotobuf%20StatusOr&type=code), [grpc](https://github.com/search?q=repo%3Agrpc%2Fgrpc%20statusor&type=code), [TensorlFow](https://github.com/search?q=repo%3Atensorflow%2Ftensorflow+statusor&type=code) (also [TF hosts its own `RETURN_IF_ERROR` macro](https://github.com/search?q=repo%3Atensorflow%2Ftensorflow%20RETURN_IF_ERROR&type=code)), [JAX](https://github.com/search?q=repo%3Ajax-ml%2Fjax%20statusor&type=code )) and self-hosting them in a small header is not of a big deal in my opinion. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org