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
use tag::Tag;

error_chain! {
    errors {
        UnexpectedByteInDecNum(byte: u8) {
            description("Unexpected byte in decimal number")
            display("Unexpected byte in decimal string: {}", byte)
        }
        UnexpectedEofInDecNum {
            description("Unexpected EOF while reading decimal number")
        }
        UnexpectedEof {
            description("Unexpected EOF")
        }
        UnexpectedEofInDirectory {
            description("Unexpected EOF while reading directory")
        }
        NoRecordTerminator {
            description("No record terminator")
        }
        FieldTooLarge(tag: Tag) {
            description("Field byte length is greater than 9998")
            display("Field byte length is greater than 9998 (tag={})", tag)
        }
        RecordTooLarge(size: usize) {
            description("Record byte length is greater than 99999")
            display("Record byte length {} is greater than 99999 limit", size)
        }
        RecordTooShort(len: usize) {
            description("Record length specified in leader is too small")
            display("Record length {} specified in leader is too small", len)
        }
        UnexpectedSubfieldEnd {
            description("Unexpected end of a subfield")
        }
    }
}