pub struct UIoError { /* private fields */ }
Expand description
Wrapper type around std::io::Error
.
The messages displayed by UIoError
should match the error messages displayed by GNU
coreutils.
There are two ways to construct this type: with UIoError::new
or by calling the
FromIo::map_err_context
method on a std::io::Result
or std::io::Error
.
use uucore::{
display::Quotable,
error::{FromIo, UResult, UIoError, UError}
};
use std::fs::File;
use std::path::Path;
let path = Path::new("test.txt");
// Manual construction
let e: Box<dyn UError> = UIoError::new(
std::io::ErrorKind::NotFound,
format!("cannot access {}", path.quote())
);
let res: UResult<()> = Err(e.into());
// Converting from an `std::io::Error`.
let res: UResult<File> = File::open(path).map_err_context(|| format!("cannot access {}", path.quote()));
Implementations§
Trait Implementations§
source§impl Error for UIoError
impl Error for UIoError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
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()
Auto Trait Implementations§
impl Freeze for UIoError
impl !RefUnwindSafe for UIoError
impl Send for UIoError
impl Sync for UIoError
impl Unpin for UIoError
impl !UnwindSafe for UIoError
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