err-rs

Crates.ioerr-rs
lib.rserr-rs
version0.0.4
sourcesrc
created_at2024-09-22 18:47:28.02965
updated_at2024-10-08 11:52:45.698967
descriptionError level management
homepage
repositoryhttps://github.com/piot/err-rs
max_upload_size
id1383201
size6,471
Peter Bjorklund (piot)

documentation

README

🚀 err-rs: Error Level Management

Welcome to err-rs! This library provides a simple and efficient way to categorize and handle different levels of errors in your applications.

🛠ī¸ Features

  • Error Levels: Define and categorize error severity with the ErrorLevel enum.
  • Trait for Error Level Providers: Implement the ErrorLevelProvider trait to easily retrieve error levels.
  • Utility Function: Use most_severe_error to determine the highest severity from a slice of error levels.

đŸ“Ļ Error Levels

The ErrorLevel enum provides three levels of error severity:

#[derive(Copy, Clone, Eq, PartialEq, Debug, Ord, PartialOrd)]
pub enum ErrorLevel {
    Info,     // ℹī¸ Informative, can be ignored
    Warning,  // ⚠ī¸ Should be logged, but recoverable
    Critical, // ❗ Requires immediate attention, unrecoverable
}

💡 Usage

To use the library, implement the ErrorLevelProvider trait in your structs or enums:

pub trait ErrorLevelProvider {
    fn error_level(&self) -> ErrorLevel;
}

🚀 Getting Started

To include err-rs in your project, add the following to your Cargo.toml:

[dependencies]
err-rs = "0.0.3"

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Commit count: 5

cargo fmt