tycho_execution/encoding/
errors.rs1use std::{io, str::Utf8Error};
2
3use thiserror::Error;
4
5#[derive(Error, Debug, PartialEq)]
16pub enum EncodingError {
17 #[error("Invalid input: {0}")]
18 InvalidInput(String),
19 #[error("Fatal error: {0}")]
20 FatalError(String),
21 #[error("Recoverable error: {0}")]
22 RecoverableError(String),
23 #[error("Not implemented: {0}")]
24 NotImplementedError(String),
25}
26
27impl From<io::Error> for EncodingError {
28 fn from(err: io::Error) -> Self {
29 EncodingError::FatalError(err.to_string())
30 }
31}
32
33impl From<serde_json::Error> for EncodingError {
34 fn from(err: serde_json::Error) -> Self {
35 EncodingError::FatalError(err.to_string())
36 }
37}
38
39impl From<Utf8Error> for EncodingError {
40 fn from(err: Utf8Error) -> Self {
41 EncodingError::FatalError(err.to_string())
42 }
43}