Document error handling.

This commit is contained in:
Jacob Hoffman-Andrews
2020-12-18 22:04:00 -08:00
parent b9e3d3e76c
commit e25a6876f9
4 changed files with 31 additions and 0 deletions

View File

@@ -42,6 +42,23 @@ use crate::Response;
/// ureq::get(url).call()
/// }
/// ```
///
/// If you'd like to treat all status code errors as normal, successful responses,
/// you can use [Result::or_else](std::result::Result::or_else) like this:
///
/// ```
/// use ureq::Error::Status;
/// # fn main() -> std::result::Result<(), ureq::Error> {
/// # ureq::is_test(true);
/// let resp = ureq::get("http://example.com/")
/// .call()
/// .or_else(|e| match e {
/// Status(_, r) => Ok(r), // turn status errors into Ok Responses.
/// _ => Err(e),
/// })?;
/// # Ok(())
/// # }
/// ```
#[derive(Debug)]
pub enum Error {
/// A response was successfully received but had status code >= 400.