pub enum Error {
Io(Error),
FileNotFound {
path: PathBuf,
},
InvalidPath {
reason: String,
},
PathTraversalAttempt {
path: PathBuf,
},
FileTooLarge {
path: PathBuf,
size: u64,
max: u64,
},
ParseError {
reason: String,
},
ConfigError {
reason: String,
},
ValidationError {
reason: String,
},
ConcurrencyError {
reason: String,
},
NotFound {
key: String,
},
Other(String),
Wrapped(Box<dyn Error + Sync + Send>),
}Expand description
The core error type for all Obsidian operations.
Variants§
Io(Error)
File system error
FileNotFound
File not found
InvalidPath
Invalid file path (outside vault, too long, etc.)
PathTraversalAttempt
Path traversal attempt detected
FileTooLarge
File too large for processing
ParseError
Parse error
ConfigError
Invalid configuration
ValidationError
Validation error
ConcurrencyError
Concurrent access conflict
NotFound
Not found in graph
Other(String)
Generic unclassified error
Wrapped(Box<dyn Error + Sync + Send>)
Wrapped error from other crates
Implementations§
Source§impl Error
impl Error
Sourcepub fn file_not_found(path: impl Into<PathBuf>) -> Error
pub fn file_not_found(path: impl Into<PathBuf>) -> Error
Create a file not found error
Sourcepub fn invalid_path(reason: impl Into<String>) -> Error
pub fn invalid_path(reason: impl Into<String>) -> Error
Create an invalid path error
Sourcepub fn path_traversal(path: impl Into<PathBuf>) -> Error
pub fn path_traversal(path: impl Into<PathBuf>) -> Error
Create a path traversal error
Sourcepub fn file_too_large(path: impl Into<PathBuf>, size: u64, max: u64) -> Error
pub fn file_too_large(path: impl Into<PathBuf>, size: u64, max: u64) -> Error
Create a file too large error
Sourcepub fn parse_error(reason: impl Into<String>) -> Error
pub fn parse_error(reason: impl Into<String>) -> Error
Create a parse error
Sourcepub fn config_error(reason: impl Into<String>) -> Error
pub fn config_error(reason: impl Into<String>) -> Error
Create a configuration error
Sourcepub fn validation_error(reason: impl Into<String>) -> Error
pub fn validation_error(reason: impl Into<String>) -> Error
Create a validation error
Sourcepub fn concurrency_error(reason: impl Into<String>) -> Error
pub fn concurrency_error(reason: impl Into<String>) -> Error
Create a concurrency error
Trait Implementations§
Source§impl Error for Error
impl Error for Error
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§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for Error
impl !RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl !UnwindSafe for Error
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more