tustvold commented on PR #6158: URL: https://github.com/apache/arrow-rs/pull/6158#issuecomment-2261500592
> This forces downstream users of the crate to handle all generic errors the same way, or resort to parsing the stringified error message. Right, the alternative being we expose public types and those types then become part of the public API, but in a somewhat obfuscated manner. This gets particularly spicy if one exposes foreign types, which we probably do in some places, then not only are these crates part of your public API but if those crate's make a breaking release any error handling code will happily build against a different version, and just silently not work :smile: The approach as it stands is to have explicit semantic error categories, this gives a lot of freedom to make breaking changes, and has a lot of precedent in the ecosystem (e.g. hyper, reqwest) and the standard library (std::io::Error), but does have downsides. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
