cdumay_error

Crates.iocdumay_error
lib.rscdumay_error
version2.0.1
created_at2024-06-21 08:25:19.075333+00
updated_at2025-06-19 08:38:52.767097+00
descriptionA Rust Library which define standard errors
homepagehttps://github.com/cdumay/cdumay_error
repositoryhttps://github.com/cdumay/cdumay_error
max_upload_size
id1279191
size12,518
Cédric Dumay (cdumay)

documentation

https://docs.rs/cdumay_error

README

cdumay_error

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())
}
Commit count: 9

cargo fmt