If all you do in the Err(e) => ...
match arm is returning the error, then you absolutely should use the ?
operator instead.
If the match arm also converts the error type into another error type, implement the From
trait for the conversion, then you can use ?
as well.
If you want to add more information to the error, you can use .map_err(...)?
. Or, if you’re using the anyhow
crate, .with_context(...)?
.
It is well supported in all browsers and operating systems. At least VS Code and IntelliJ support it, and even some terminals.