pub enum LibmagicError {
ParseError(ParseError),
EvaluationError(EvaluationError),
IoError(Error),
Timeout {
timeout_ms: u64,
},
ConfigError {
reason: String,
},
FileError(String),
}Expand description
Main error type for the libmagic-rs library.
This enum represents all possible errors that can occur during magic file parsing, rule evaluation, and file I/O operations.
Variants§
ParseError(ParseError)
Error that occurred during magic file parsing.
EvaluationError(EvaluationError)
Error that occurred during rule evaluation.
IoError(Error)
I/O error that occurred during file operations.
Timeout
Evaluation timeout exceeded.
ConfigError
Invalid configuration parameter.
§Examples
use libmagic_rs::LibmagicError;
let error = LibmagicError::ConfigError {
reason: "invalid timeout value".to_string(),
};
assert!(matches!(error, LibmagicError::ConfigError { .. }));FileError(String)
File I/O error with structured context (path, operation).
Unlike IoError which wraps a generic std::io::Error, this variant
preserves the structured error information from file I/O operations
(e.g., file path, operation type).
§Examples
use libmagic_rs::LibmagicError;
let error = LibmagicError::FileError("failed to read /path/to/file".to_string());
assert!(matches!(error, LibmagicError::FileError(_)));Trait Implementations§
Source§impl Debug for LibmagicError
impl Debug for LibmagicError
Source§impl Display for LibmagicError
impl Display for LibmagicError
Source§impl Error for LibmagicError
impl Error for LibmagicError
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<Error> for LibmagicError
impl From<Error> for LibmagicError
Source§impl From<EvaluationError> for LibmagicError
impl From<EvaluationError> for LibmagicError
Source§fn from(source: EvaluationError) -> Self
fn from(source: EvaluationError) -> Self
Converts to this type from the input type.
Source§impl From<IoError> for LibmagicError
impl From<IoError> for LibmagicError
Source§impl From<ParseError> for LibmagicError
impl From<ParseError> for LibmagicError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for LibmagicError
impl !RefUnwindSafe for LibmagicError
impl Send for LibmagicError
impl Sync for LibmagicError
impl Unpin for LibmagicError
impl UnsafeUnpin for LibmagicError
impl !UnwindSafe for LibmagicError
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