geotiff_rs/parser/
error.rs

1use std::{array::TryFromSliceError, io::Error as IoError, string::FromUtf8Error};
2
3use thiserror::Error;
4use weezl::LzwError;
5
6use super::value::Value;
7
8#[derive(Debug, Error)]
9pub enum TiffParserError {
10    #[error("Converting slice to array failed: {0}")]
11    TryFromSlice(#[from] TryFromSliceError),
12    #[error("UTF-8 decoding failed: {0}")]
13    Utf8(#[from] FromUtf8Error),
14    #[error("IO error: {0}")]
15    Io(#[from] IoError),
16    #[error("A string wasn't null-terminated: {0:?}")]
17    StringNotNullTerminated(Vec<u8>),
18    #[error("Unknown field type: {0}")]
19    UnknownFieldType(u16),
20    #[error("Unknown endianness marker: {0:?}")]
21    UnknownEndiannessMarker(Vec<u8>),
22    #[error("The image has both tile and strip data")]
23    ImageBothTiledAndStripped,
24    #[error("Invalid value {0:?}, {1}")]
25    InvalidValue(Value, &'static str),
26    #[error("Missing value for tag {0}")]
27    MissingValue(u16),
28    #[error("Unknown compression scheme: {0}")]
29    UnknownCompression(u16),
30    #[error("LZW decompression error: {0}")]
31    Lzw(#[from] LzwError),
32}