From e4338a9d9d0a76029bca376c2bcb499962575e87 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Thu, 27 Feb 2025 01:03:29 +0100 Subject: extend docs and reorganize files --- src/error.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/error.rs (limited to 'src/error.rs') diff --git a/src/error.rs b/src/error.rs new file mode 100644 index 0000000..7414062 --- /dev/null +++ b/src/error.rs @@ -0,0 +1,45 @@ +use thiserror::Error; + +#[derive(Debug, Error)] +pub enum ProtocolError { + #[error("message has wrong type")] + WrongMsgType, + #[error("bool value is neither 0 nor 1")] + BoolOutOfRange, + #[error("QVariant is not known")] + UnknownVariant, + #[error("UserType is not known: {0}")] + UnknownUserType(String), + #[error("wrong variant has been given")] + WrongVariant, + #[error("io error: {0}")] + IOError(#[from] std::io::Error), + #[error("could not convert from int: {0}")] + TryFromIntError(#[from] std::num::TryFromIntError), + #[error("utf8 error: {0}")] + Utf8Error(#[from] std::string::FromUtf8Error), + #[error("errored to parse char as utf16")] + CharError, + #[error("failed to deal with time: {0}")] + TimeError(#[from] time::error::ComponentRange), +} + +// impl std::error::Error for ErrorKind {} +// +// impl std::convert::From for ErrorKind { +// fn from(error: std::io::Error) -> Self { +// ErrorKind::IOError(error) +// } +// } +// +// impl std::convert::From for ErrorKind { +// fn from(error: std::num::TryFromIntError) -> Self { +// ErrorKind::TryFromIntError(error) +// } +// } +// +// impl std::convert::From for ErrorKind { +// fn from(error: std::string::FromUtf8Error) -> Self { +// ErrorKind::Utf8Error(error) +// } +// } -- cgit v1.2.3