Expand description
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§
- Deserialization
Error - Error : DeserializationError (Kind:
ValidationError
) - File
NotExists - Error : FileNotExists (Kind:
IoError
) - File
Read - Error : FileRead (Kind:
IoError
) - Serialization
Error - Error : SerializationError (Kind:
ValidationError
) - Unexpected
- Error : Unexpected (Kind:
UnknownError
)
Constants§
- Invalid
Configuration - ErrorKind : InvalidConfiguration (400) - Invalid Configuration
- IoError
- ErrorKind : IoError (500) - IO error
- Unknown
Error - ErrorKind : UnknownError (500) - Unexpected error
- Validation
Error - ErrorKind : ValidationError (400) - Validation error