pitrou commented on issue #14: URL: https://github.com/apache/iceberg-cpp/issues/14#issuecomment-2586537552
I went looking around for comparisons of exceptions and `std::expected` and I found an insightful tidbit here: https://www.foonathan.net/2017/12/exceptions-vs-expected/ > [Exceptions] are not easily composable: There is only one current exception, you can’t have multiple ones. This was a problem, for example, for the [C++17 parallel algorithms](http://www.bfilipek.com/2017/08/cpp17-details-parallel.html). What if an exception is thrown in multiple of the worker threads? How to report all of them back to the caller? The implementation gave up on solving that problem and just decided to terminate the program if any exception is thrown. If this is still the case with C++20 (you can't store an exception on the side to later wrap or re-throw it, for example), then this sounds like a major annoyance. -- 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