ipld_nostd/car/
error.rs

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
use {
	crate::{alloc::string::ToString, cid, dag, multihash},
	alloc::string::String,
	thiserror_core2::Error,
};

/// Car utility error
#[derive(Debug, Error)]
pub enum Error {
	#[error("Failed to parse CAR file: {0}")]
	Parsing(String),
	#[error("Invalid CAR file: {0}")]
	InvalidFile(String),
	#[error("Io error: {0}")]
	Io(#[from] core2::io::Error),
	#[error("Cbor encoding error: {0}")]
	Cbor(#[from] dag::error::CodecError),
	#[error("ld read too large {0}")]
	LdReadTooLarge(usize),
}

impl From<cid::Error> for Error {
	fn from(err: cid::Error) -> Error {
		Error::Parsing(err.to_string())
	}
}

impl From<multihash::Error> for Error {
	fn from(err: multihash::Error) -> Error {
		Error::Parsing(err.to_string())
	}
}