pub struct OneErr(_);
Expand description
OneErr to rule them all. See crate docs for usage.
Implementations§
source§impl OneErr
impl OneErr
sourcepub fn with_message<K, M>(kind: K, message: M) -> Selfwhere
K: Display,
M: Display,
pub fn with_message<K, M>(kind: K, message: M) -> Selfwhere
K: Display,
M: Display,
Create a new OneErr error instance with a message.
sourcepub fn str_kind(&self) -> &str
pub fn str_kind(&self) -> &str
Get the &str kind associated with this instance.
This can be more descriptive where io_kind()
or errno()
might return ‘Other’.
sourcepub fn set_field<K, T>(&mut self, name: &K, t: T) -> &mut Selfwhere
K: ?Sized + Display,
T: Into<Value>,
pub fn set_field<K, T>(&mut self, name: &K, t: T) -> &mut Selfwhere
K: ?Sized + Display,
T: Into<Value>,
Set an additional data field on this OneErr. Will panic on reserved names: “error”, “os”, “source”, “backtrace”, “message”.
sourcepub fn get_message(&self) -> Option<&str>
pub fn get_message(&self) -> Option<&str>
Get the message associated with this instance, or empty string.
Methods from Deref<Target = Error>§
1.0.0 · sourcepub fn raw_os_error(&self) -> Option<i32>
pub fn raw_os_error(&self) -> Option<i32>
Returns the OS error that this error represents (if any).
If this Error
was constructed via last_os_error
or
from_raw_os_error
, then this function will return Some
, otherwise
it will return None
.
Examples
use std::io::{Error, ErrorKind};
fn print_os_error(err: &Error) {
if let Some(raw_os_err) = err.raw_os_error() {
println!("raw OS error: {raw_os_err:?}");
} else {
println!("Not an OS error");
}
}
fn main() {
// Will print "raw OS error: ...".
print_os_error(&Error::last_os_error());
// Will print "Not an OS error".
print_os_error(&Error::new(ErrorKind::Other, "oh no!"));
}
1.3.0 · sourcepub fn get_ref(&self) -> Option<&(dyn Error + Send + Sync + 'static)>
pub fn get_ref(&self) -> Option<&(dyn Error + Send + Sync + 'static)>
Returns a reference to the inner error wrapped by this error (if any).
If this Error
was constructed via new
then this function will
return Some
, otherwise it will return None
.
Examples
use std::io::{Error, ErrorKind};
fn print_error(err: &Error) {
if let Some(inner_err) = err.get_ref() {
println!("Inner error: {inner_err:?}");
} else {
println!("No inner error");
}
}
fn main() {
// Will print "No inner error".
print_error(&Error::last_os_error());
// Will print "Inner error: ...".
print_error(&Error::new(ErrorKind::Other, "oh no!"));
}
1.0.0 · sourcepub fn kind(&self) -> ErrorKind
pub fn kind(&self) -> ErrorKind
Returns the corresponding ErrorKind
for this error.
Examples
use std::io::{Error, ErrorKind};
fn print_error(err: Error) {
println!("{:?}", err.kind());
}
fn main() {
// Will print "Uncategorized".
print_error(Error::last_os_error());
// Will print "AddrInUse".
print_error(Error::new(ErrorKind::AddrInUse, "oh no!"));
}
Trait Implementations§
source§impl<'de> Deserialize<'de> for OneErr
impl<'de> Deserialize<'de> for OneErr
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl Error for OneErr
impl Error for OneErr
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
impl Eq for OneErr
Auto Trait Implementations§
impl !RefUnwindSafe for OneErr
impl Send for OneErr
impl Sync for OneErr
impl Unpin for OneErr
impl !UnwindSafe for OneErr
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.