manual_serializer/
error.rs1use std::{string::FromUtf16Error, array::TryFromSliceError};
2use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum Error {
6 #[error("Error: {0}")]
7 String(String),
8
9 #[error("Error: {0}")]
10 FromUtf16Error(FromUtf16Error),
11
12 #[error("Error: {0}")]
13 TryFromSliceError(TryFromSliceError),
14
15 #[error("Error while trying to offset {0} byte(s) from position {1} in buffer length of {2}")]
16 TryOffsetError(usize,usize,usize),
17
18 #[error("Error while trying to store {0} value at position {1} in buffer length of {2}")]
19 TryStoreError(&'static str,usize,usize),
20
21 #[error("Error while trying to store slice of {0} byte(s) at position {1} in buffer length of {2}")]
22 TryStoreSliceError(usize,usize,usize),
23
24}
25
26impl From<String> for Error {
27 fn from(s: String) -> Error {
28 Error::String(s)
29 }
30}
31
32impl From<&str> for Error {
33 fn from(s: &str) -> Error {
34 Error::String(s.to_string())
35 }
36}
37
38impl From<FromUtf16Error> for Error {
39 fn from(e: FromUtf16Error) -> Error {
40 Error::FromUtf16Error(e)
41 }
42}
43
44impl From<TryFromSliceError> for Error {
45 fn from(e: TryFromSliceError) -> Error {
46 Error::TryFromSliceError(e)
47 }
48}