|
|
|
|
|
by stjepang
3505 days ago
|
|
Yes, there is a simpler approach. If your function returns Result<T, Box<Error>>, then you can use try! or ? operator to return any kind of error. It will be automatically boxed and converted into the generic Box<Error>. This works for two reasons: 1) try! and ? don't simply return Err(err) on error case as one might think. They actually return Err(From::from(err)). 2) The standard library has: impl<'a, E: Error + 'a> From<E> for Box<Error + 'a> { ... } Check out this article, starting from "The From trait": http://blog.burntsushi.net/rust-error-handling/ |
|