1 stable release
1.0.1 | Feb 7, 2025 |
---|
#37 in #define
140 downloads per month
Used in cdumay_result
7KB
cdumay_error_standard
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_error
framework.
Features
- Common error types for IO operations and unexpected errors
- Easy integration with the
cdumay_error
framework
Examples
use cdumay_error_standard::{FileNotExists, Unexpected};
use std::path::Path;
// Creating a FileNotExists error
fn check_file(path: &Path) -> Result<(), Box<dyn std::error::Error>> {
if !path.exists() {
return Err(FileNotExists::new().set_message(format!(
"File {} does not exist",
path.display()
)).into());
}
Ok(())
}
// Using Unexpected error for runtime errors
fn divide(a: i32, b: i32) -> Result<i32, Box<dyn std::error::Error>> {
if b == 0 {
return Err(Unexpected::new().set_message("Division by zero".into()).into());
}
Ok(a / b)
}
Error Handling
All errors implement the AsError
trait from cdumay_error
, providing consistent
error handling across your application:
use cdumay_error_standard::{FileRead};
use cdumay_error::AsError;
fn read_content() -> Result<String, Box<dyn std::error::Error>> {
let err = FileRead::new().set_message("Failed to read config file".into());
// Access error properties
println!("Error code: {}", FileRead::kind.code());
println!("Message: {}", err.message());
Err(err.into())
}
Dependencies
~0.5–1.2MB
~26K SLoC