Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum Error {
- UserError,
- TokenError,
- }
- enum Status {
- Ok,
- UnknownUser,
- InternalServerError,
- }
- fn bar() {
- let _status = match foo() {
- Ok(_) => Status::Ok,
- Err(Error::UserError) => Status::UnknownUser,
- Err(_) => Status::InternalServerError,
- };
- // ...
- }
- fn foo() -> Result<(), Error> {
- let user = get_user().map_err(|_| Error::UserError)?;
- let _token = get_token(&user).map_err(|_| Error::TokenError)?;
- // ...
- Ok(())
- }
- struct ErrorX;
- fn get_user() -> Result<String, ErrorX> {
- Ok("Jane".into())
- }
- struct ErrorY;
- struct Token;
- fn get_token(user: &str) -> Result<Token, ErrorY> {
- Ok(Token)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement