libabieos_sys/
errors.rs

1use error_chain::error_chain;
2
3impl From<Box<dyn std::error::Error>> for Error {
4    fn from(e: Box<dyn std::error::Error>) -> Self {
5        Self::from(format!("{:?}", e))
6    }
7}
8
9impl From<Box<dyn std::error::Error + Sync + Send>> for Error {
10    fn from(e: Box<dyn std::error::Error + Sync + Send>) -> Self {
11        Self::from(format!("{:?}", e))
12    }
13}
14
15error_chain! {
16    foreign_links {
17        UTF8Error2(std::str::Utf8Error);
18        UTF8Error(std::string::FromUtf8Error);
19        FFIError(std::ffi::NulError);
20    }
21    errors {
22        ABIEOS(s:String){
23            description("ABIEOS ")
24            display("ABIEOS {}",s)
25        }
26         ABIEOS_INT {
27            description("ABIEOS Error Internal")
28            display("ABIEOS Error Internal")
29        }
30        ABIEOS_LOOP {
31            description("ABIEOS Stuck in internal loop")
32            display("ABIEOS Stuck in internal loop")
33        }
34        ABIEOS_VARUINT_ENCODING {
35            description("Invalid VarUInt encoding")
36            display("ABIEOS Invalid VarUInt encoding")
37        }
38    }
39}