scraper_main/
error.rs

1use thiserror::Error as ThisError;
2
3use xpather::{Error as XpathError, Value};
4
5use std::io::Error as IoError;
6
7pub type Result<V> = std::result::Result<V, Error>;
8
9
10#[derive(ThisError, Debug)]
11pub enum Error {
12	// External
13	#[error("Xpath Error: {0}")]
14	Xpath(XpathError),
15
16	#[error("IO Error: {0}")]
17	Io(IoError),
18
19	#[error("Can't convert from Value")]
20	ConvertFromValue(Option<Value>),
21
22	#[error("Field \"{0}\" Value Error {1}")]
23	FieldValueError(&'static str, Box<Error>)
24}
25
26impl From<XpathError> for Error {
27	fn from(error: XpathError) -> Self {
28		Error::Xpath(error)
29	}
30}
31
32impl From<IoError> for Error {
33	fn from(error: IoError) -> Self {
34		Error::Io(error)
35	}
36}