geotiff_rs/parser/
error.rs1use 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}