Expand description
Error types for astronomical calculations.
This module provides a unified error type AstroError that covers the failure
modes encountered in astronomical computations: invalid dates, numerical issues,
external library failures, data access problems, and calculation failures.
§Error Categories
| Variant | Use Case | Recoverable? |
|---|---|---|
InvalidDate | Calendar validation failures | No |
MathError | Overflow, precision loss, division by zero | No |
ExternalLibraryError | FFI or driver failures | No |
DataError | File I/O, network, parsing | Yes |
CalculationError | Algorithm failures | No |
§Usage
Most functions return AstroResult<T>, which is Result<T, AstroError>.
Use the constructor methods for consistent error creation:
use celestial_core::{AstroError, MathErrorKind};
fn safe_divide(a: f64, b: f64) -> Result<f64, AstroError> {
if b == 0.0 {
return Err(AstroError::math_error(
"safe_divide",
MathErrorKind::DivisionByZero,
"divisor is zero",
));
}
Ok(a / b)
}Enums§
- Astro
Error - Unified error type for astronomical calculations.
- Math
Error Kind - Classification of mathematical errors.
Type Aliases§
- Astro
Result - Convenience alias for
Result<T, AstroError>.