Expand description
Error Catalog for Remote Compilation Helper
This module defines a comprehensive error catalog with unique error codes, categorized by subsystem. Each error includes:
- A unique code (RCH-E001 through RCH-E999)
- A human-readable message template
- Remediation steps
- Documentation links where applicable
§Error Code Ranges
| Range | Category | Description |
|---|---|---|
| E001-E099 | Config | Configuration and setup errors |
| E100-E199 | Network | Network and SSH connectivity |
| E200-E299 | Worker | Worker selection and management |
| E300-E399 | Build | Compilation and build errors |
| E400-E499 | Transfer | File transfer and sync errors |
| E500-E599 | Internal | Internal/unexpected errors |
§Extended Sub-Ranges (within existing categories)
| Range | Subcategory | Description |
|---|---|---|
| E013-E018 | Config/PathDeps | Path-dependency resolution errors |
| E019-E024 | Config/Closure | Dependency-closure planner errors |
| E210-E219 | Worker/Storage | Disk pressure and storage errors |
| E310-E319 | Build/Triage | Process triage integration errors |
| E320-E325 | Build/Cancellation | Build cancellation lifecycle errors |
§Example
use rch_common::errors::catalog::{ErrorCode, ErrorEntry};
let error = ErrorCode::ConfigNotFound;
let entry = error.entry();
println!("Error {}: {}", entry.code, entry.message);
for step in entry.remediation {
println!(" - {}", step);
}Structs§
- Error
Entry - Complete error entry with all metadata.
Enums§
- Error
Category - Error category for grouping related errors.
- Error
Code - Error code enumeration covering all RCH error scenarios.