cita_tool/
error.rs

1use failure::Fail;
2use hex::FromHexError;
3use protobuf::error::ProtobufError;
4use std::num::ParseIntError;
5
6/// Error summary information
7#[derive(Debug, Fail)]
8pub enum ToolError {
9    /// IO error
10    #[fail(display = "Std's io error: {}", _0)]
11    Stdio(::std::io::Error),
12    /// Parsing json data error
13    #[fail(display = "Serde_json error: {}", _0)]
14    SerdeJson(serde_json::error::Error),
15    /// Hyper error
16    #[fail(display = "Hyper error: {}", _0)]
17    Hyper(hyper::Error),
18    /// Hyper legacy error
19    #[fail(display = "Hyper legacy error: {}", _0)]
20    HyperLegacy(hyper_util::client::legacy::Error),
21    /// ABI error
22    #[fail(display = "ABI error: {}", _0)]
23    Abi(String),
24    /// Protobuf error
25    #[fail(display = "Protobuf error: {}", _0)]
26    Proto(ProtobufError),
27    /// Hex decode error
28    #[fail(display = "Hex decode error: {}", _0)]
29    Decode(FromHexError),
30    /// Parse error
31    #[fail(display = "Parse int error: {}", _0)]
32    Parse(ParseIntError),
33    /// Customize error
34    #[fail(display = "Customize error: {}", _0)]
35    Customize(String),
36}