Skip to main content

Module errors

Module errors 

Source
Expand description

Error handling with AdonisJS-inspired typed errors.

This module provides the RokError enum with machine-readable error codes and HTTP status semantics.

§Error Codes

CodeStatusDescription
E_NOT_FOUND404Resource not found
E_UNAUTHORIZED401Authentication required
E_FORBIDDEN403Access denied
E_VALIDATION_FAILURE422Input validation failed

§Example

use rok_utils::{RokError, RokResultExt};

fn find_user(id: u64) -> Result<String, RokError> {
    if id == 42 {
        Ok("Alice".to_string())
    } else {
        Err(RokError::NotFound(format!("User #{id}")))
    }
}

let result = find_user(42).context("Database query failed");
assert!(result.is_ok());

Re-exports§

pub use context::wrap_error;
pub use kinds::ResultExt;
pub use kinds::RokError;

Modules§

context
kinds