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
//! Contains `error_chain` error handling materials

error_chain! {
    types {
        Error, ErrorKind, ResultExt, ResultChain;
    }

    errors {
        BadMagicNumber(magic: u32) {
            description("Bad magic number")
            display("Bad magic number : {:X}", magic)
        }
        BadLength(length: u32) {
            description("Bad length")
            display("Bad length : {}", length)
        }
        BufferUnderflow(requested: u64, available: u64) {
            description("Buffer underflow")
            display("Buffer underflow: {} requested, {} available", requested, available)
        }
    }

    foreign_links {
        Io(::std::io::Error);
    }
 }