Crate cdumay_error

Source
Expand description

License: BSD-3-Clause cdumay_error on crates.io cdumay_error on docs.rs Source Code Repository

A collection of standard error types and error kinds commonly used in Rust applications. This crate provides predefined error types and kinds using the cdumay_core framework.

§Features

  • Common error types for IO operations and unexpected errors
  • Easy integration with the cdumay_core framework

§Examples

use cdumay_error::{FileNotExists, Unexpected};
use std::path::Path;
use cdumay_core::Result;

// Creating a FileNotExists error
fn check_file(path: &Path) -> Result<()> {
    if !path.exists() {
        return Err(FileNotExists::new().with_message(format!(
            "File {} does not exist",
            path.display()
        )).into());
    }
    Ok(())
}

// Using Unexpected error for runtime errors
// Note: We use From<std::result::Result> to return cdumay_core::Result
fn divide(a: i32, b: i32) -> Result<i32> {
    if b == 0 {
        return Err(Unexpected::new().with_message("Division by zero".into()).into());
    }
    Ok(a / b)
}

§Error Handling

All errors implement the Into<Error>, providing consistent error handling across your application:

use cdumay_error::FileRead;
use cdumay_core::Result;

fn read_content() -> Result<String> {
    let err = FileRead::new().with_message("Failed to read config file".into());
     
    // Access error properties
    println!("Error code: {}", err.code());
    println!("Message: {}", err.message());
     
    Err(err.into())
}

Structs§

DeserializationError
Error : DeserializationError (Kind: ValidationError)
FileNotExists
Error : FileNotExists (Kind: IoError)
FileRead
Error : FileRead (Kind: IoError)
SerializationError
Error : SerializationError (Kind: ValidationError)
Unexpected
Error : Unexpected (Kind: UnknownError)

Constants§

InvalidConfiguration
ErrorKind : InvalidConfiguration (400) - Invalid Configuration
IoError
ErrorKind : IoError (500) - IO error
UnknownError
ErrorKind : UnknownError (500) - Unexpected error
ValidationError
ErrorKind : ValidationError (400) - Validation error