Error

Enum Error 

Source
pub enum Error {
    Io(Error),
    Storage(String),
    Validation(String),
    Hash(String),
    Serialization(String),
    HexDecode(FromHexError),
    Json(Error),
    Time(String),
    NotFound(String),
    AlreadyExists(String),
    InvalidFormat(String),
    Unsupported(String),
}
Expand description

Main error type for Atlas Core operations

This enum represents all possible errors that can occur in the Atlas Core library. It uses the thiserror crate for automatic Error trait implementation.

Variants§

§

Io(Error)

I/O operation error

§

Storage(String)

Storage backend error

§

Validation(String)

Validation error for invalid data or formats

§

Hash(String)

Hash operation or verification error

§

Serialization(String)

Serialization/deserialization error

§

HexDecode(FromHexError)

Hex decoding error (only with hash feature)

§

Json(Error)

JSON processing error

§

Time(String)

Time/datetime related error

§

NotFound(String)

Resource not found error

§

AlreadyExists(String)

Resource already exists error

§

InvalidFormat(String)

Invalid format error

§

Unsupported(String)

Unsupported operation error

Implementations§

Source§

impl Error

Source

pub fn is_retriable(&self) -> bool

Check if the error is retriable

Returns true for transient errors that might succeed on retry, such as I/O or storage errors.

§Example
use atlas_common::Error;

let error = Error::Io(std::io::Error::new(
    std::io::ErrorKind::TimedOut,
    "timeout"
));
assert!(error.is_retriable());
Source

pub fn error_code(&self) -> &'static str

Get a stable error code for API responses

Returns a constant string identifier for each error variant, useful for API error responses.

§Example
use atlas_common::Error;

let error = Error::NotFound("manifest".to_string());
assert_eq!(error.error_code(), "NOT_FOUND");

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<FromHexError> for Error

Source§

fn from(source: FromHexError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.