4 ms·
Custom Errors Are Non-Negotiable in My Rust Applications
- deleted 5mo ago[deleted]
- treyd 5mo agoThis is even easier with the thiserror crate: #[derive(Debug, Error) enum AppError { #[error("io: {0}")] Io(#[from] io::Error) } Automatically generates From impls like this and a Display impl that lets you describe the error case with more detail. Very very good ergonomics and completely transparent to downstream libraries.
- dietr1ch 5mo agoI ended up using thiserror everywhere but `:/src/bin/`, and using eyre in there. It's a nice compromise between being precise on your errors with your code, but allowing you to be careless at the very end of the error lifecycle since running into errors there has very few ways of going about them, and you don't want to deal with the burden of updating that error handling all the time.
- OptionOfT 5mo agoI just wish support would land for `backtrace` on stable.
- rezaprima 5mo agois that supposed to be https://tristonarmstrong.com/blog/custom-rust-errors https://tristonarmstrong.com/blog/custom-rust-errors ?