feat(API): Display + Error traits for Error struct

* improved documentation about error handling, it's less verbose yet
  explains what you can do.

Fixes #56
This commit is contained in:
Sebastian Thiel
2015-04-14 10:28:59 +02:00
parent be228f1994
commit 7dc9972445
3 changed files with 56 additions and 10 deletions

View File

@@ -361,16 +361,18 @@ ${'.' + action_name | indent_by(13)}(${action_args});
match result {
Err(e) => match e {
Error::HttpError(err) => println!("HTTPERROR: {:?}", err),
Error::MissingAPIKey => println!("Auth: Missing API Key - used if there are no scopes"),
Error::MissingToken => println!("OAuth2: Missing Token"),
Error::Cancelled => println!("Operation canceled by user"),
Error::UploadSizeLimitExceeded(size, max_size) => println!("Upload size too big: {} of {}", size, max_size),
Error::Failure(_) => println!("General Failure (hyper::client::Response doesn't print)"),
Error::FieldClash(clashed_field) => println!("You added custom parameter which is part of builder: {:?}", clashed_field),
Error::JsonDecodeError(err) => println!("Couldn't understand server reply - maybe API needs update: {:?}", err),
// The Error enum provides details about what exactly happened.
// You can also just use its `Debug`, `Display` or `Error` traits
Error::HttpError(_)
|Error::MissingAPIKey
|Error::MissingToken
|Error::Cancelled
|Error::UploadSizeLimitExceeded(_, _)
|Error::Failure(_)
|Error::FieldClash(_)
|Error::JsonDecodeError(_) => println!("{}", e),
},
Ok(_) => println!("Success (value doesn't print)"),
Ok(res) => println!("Success: {:?}", res),
}
% endif
</%block>