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()));