webterm_core/models/
webterm_error.rs1use crate::models::reader_socket_error::ReaderSocketError;
2use std::array::TryFromSliceError;
3use std::fmt;
4
5#[derive(Debug)]
6pub enum WebtermError {
7 ReaderSocketError(ReaderSocketError),
8 RuntimeError(String),
9 EncryptionError(String),
10 DecryptionError(String),
11 TryFromSliceError(TryFromSliceError),
12}
13
14impl std::error::Error for WebtermError {}
15
16impl fmt::Display for WebtermError {
17 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
18 match self {
19 WebtermError::ReaderSocketError(e) => write!(f, "Reader socket error: {}", e),
20 WebtermError::RuntimeError(e) => write!(f, "Runtime Error: {}", e),
21 WebtermError::EncryptionError(e) => write!(f, "Encryption Error: {}", e),
22 WebtermError::DecryptionError(e) => write!(f, "Decryption Error: {}", e),
23 WebtermError::TryFromSliceError(e) => write!(f, "TryFromSliceError: {}", e),
24 }
25 }
26}
27
28impl From<ReaderSocketError> for WebtermError {
29 fn from(err: ReaderSocketError) -> Self {
30 WebtermError::ReaderSocketError(err)
31 }
32}
33
34impl From<TryFromSliceError> for WebtermError {
35 fn from(err: TryFromSliceError) -> Self {
36 WebtermError::TryFromSliceError(err)
37 }
38}