1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
use std::{io, num}; use hyper; use serde_json; use chrono; quick_error! { #[derive(Debug)] pub enum Error { Io(err: io::Error) { from() description("io error") display("I/O error: {}", err) cause(err) } Curl(err: hyper::Error) { from() description("hyper error") display("Hyper error: {}", err) cause(err) } Json(err: serde_json::Error) { from() description("json error") display("Json error: {}", err) cause(err) } Chrono(err: chrono::format::ParseError) { from() description("chrono error") display("Chrono error: {}", err) cause(err) } ParseInt(err: num::ParseIntError) { from() description("Parse integer error") display("Parse integer: {}", err) cause(err) } ParseFloat(err: num::ParseFloatError) { from() description("Parse float error") display("Parse float: {}", err) cause(err) } NoData { description("No data are returned") display("No data are returned") } Other(descr: &'static str) { description(descr) display("Error {}", descr) } } }