#[non_exhaustive]pub enum CoreError {
Validation(ValidationError),
Foundation(FoundationError),
InvalidStructure {
context: String,
reason: String,
},
}Expand description
Top-level error type for the Core crate.
Every fallible operation in Core returns Result<T, CoreError>.
Use the ? operator freely – both ValidationError and
FoundationError convert via #[from].
§Examples
use hwpforge_core::error::{CoreError, ValidationError};
fn example() -> Result<(), CoreError> {
Err(ValidationError::EmptyDocument)?
}
assert!(example().is_err());Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Validation(ValidationError)
Document validation failed.
Foundation(FoundationError)
A Foundation-layer error propagated upward.
InvalidStructure
Structural issue that is not a validation failure.
Trait Implementations§
Source§impl Error for CoreError
impl Error for CoreError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<FoundationError> for CoreError
impl From<FoundationError> for CoreError
Source§fn from(source: FoundationError) -> Self
fn from(source: FoundationError) -> Self
Converts to this type from the input type.
Source§impl From<ValidationError> for CoreError
impl From<ValidationError> for CoreError
Source§fn from(source: ValidationError) -> Self
fn from(source: ValidationError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for CoreError
impl RefUnwindSafe for CoreError
impl Send for CoreError
impl Sync for CoreError
impl Unpin for CoreError
impl UnwindSafe for CoreError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more