#[non_exhaustive]pub enum FactoryWrapperError {
NullFactoryInstance,
NulPtr(&'static str),
Panic,
Error(clap_log_severity, Box<dyn Error>),
}Expand description
Errors raised by a FactoryWrapper.
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.
NullFactoryInstance
The factory raw pointer was null.
NulPtr(&'static str)
An unexpectedly null raw pointer was encountered.
The given string may contain more information about which pointer was found to be null.
Panic
The plugin factory panicked during a function call.
Error(clap_log_severity, Box<dyn Error>)
A generic or custom error of a given severity.
Implementations§
Source§impl FactoryWrapperError
impl FactoryWrapperError
Sourcepub fn severity(&self) -> clap_log_severity
pub fn severity(&self) -> clap_log_severity
Returns the severity of this error.
This is mainly useful for logging.
§Example
use clap_sys::ext::log::CLAP_LOG_PLUGIN_MISBEHAVING;
use clack_plugin::extensions::wrapper::PluginWrapperError;
let error = PluginWrapperError::Panic;
assert_eq!(error.severity(), CLAP_LOG_PLUGIN_MISBEHAVING);Sourcepub fn with_severity<E: 'static + Error>(
severity: clap_log_severity,
) -> impl Fn(E) -> FactoryWrapperError
pub fn with_severity<E: 'static + Error>( severity: clap_log_severity, ) -> impl Fn(E) -> FactoryWrapperError
Returns a closure that maps an error to a FactoryWrapperError::Error error of a given
severity.
This is a useful helper method when paired with Result::map_err.
§Example
use clap_sys::ext::log::CLAP_LOG_PLUGIN_MISBEHAVING;
use clack_plugin::extensions::wrapper::PluginWrapperError;
let x: Result<(), _> = Err(std::env::VarError::NotPresent); // Some random error type
let clap_error = x.map_err(PluginWrapperError::with_severity(CLAP_LOG_PLUGIN_MISBEHAVING));
assert_eq!(clap_error.unwrap_err().severity(), CLAP_LOG_PLUGIN_MISBEHAVING);Trait Implementations§
Source§impl Debug for FactoryWrapperError
impl Debug for FactoryWrapperError
Source§impl Display for FactoryWrapperError
impl Display for FactoryWrapperError
Auto Trait Implementations§
impl !RefUnwindSafe for FactoryWrapperError
impl !Send for FactoryWrapperError
impl !Sync for FactoryWrapperError
impl !UnwindSafe for FactoryWrapperError
impl Freeze for FactoryWrapperError
impl Unpin for FactoryWrapperError
impl UnsafeUnpin for FactoryWrapperError
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