use thiserror::Error;
#[derive(Debug, Error)]
pub enum XdbError {
#[error("Invalid IP: {0}")]
InvalidIP(String),
#[error("Invalid IP Version: {0}")]
InvalidIPVersion(String),
#[error("Invalid UTF-8 in region data")]
InvalidUtf8,
#[error("Header Parse Error: {0}")]
HeaderParseError(String),
#[error("RangeIndexOut:{0}")]
RangeIndexOutError(String),
#[error("AddrParseError: {0}")]
AddrParseError(#[from] std::net::AddrParseError),
#[error("ParseInt Error: {0}")]
ParseIntError(#[from] std::num::ParseIntError),
#[error("Io Error:{0}")]
IoError(#[from] std::io::Error),
#[error("Slice Error: {0}")]
SliceError(#[from] std::array::TryFromSliceError),
}