Module error

Module error 

Source
Expand description

Error types and result aliases for ReasonKit operations.

All ReasonKit functions return Result<T> which is an alias for std::result::Result<T, Error>. Error types for ReasonKit Core.

This module defines the error types used throughout ReasonKit Core. All public functions return Result<T> which is an alias for std::result::Result<T, Error>.

§Error Handling Philosophy

ReasonKit follows these error handling principles:

  1. Fail Fast, Fail Loud - Errors are surfaced immediately with actionable messages
  2. Typed Errors - Each error variant carries specific context for the failure mode
  3. Error Chaining - Use with_context() to add context while preserving the source

§Example

use reasonkit::{Error, Result};

fn process_document(path: &str) -> Result<()> {
    // Return typed errors
    if path.is_empty() {
        return Err(Error::Validation("Path cannot be empty".to_string()));
    }

    // Create errors with context
    std::fs::read_to_string(path)
        .map_err(|e| Error::io(format!("Failed to read {}", path)))?;

    Ok(())
}

§Error Categories

CategoryVariantsTypical Cause
I/OIo, IoMessageFile operations, network I/O
ParsingJson, ParseMalformed input, schema violations
ResourceNotFound, DocumentNotFoundMissing documents, chunks
ProcessingEmbedding, Indexing, RetrievalPipeline failures
ConfigurationConfig, ConfigErrorInvalid settings
M2 IntegrationM2* variantsMiniMax M2 API issues

Enums§

Error
Error types for ReasonKit Core.

Traits§

ResultExt
Extension trait for adding context to Results.

Type Aliases§

Result
Result type alias for ReasonKit operations.