pub struct IntoInnerError<W> { /* private fields */ }Expand description
An error returned by calling into_inner on a writer.
Combines an error that happened while flushing the buffer, and the buffered writer object which may be used to recover from the condition.
§Examples
use bitter::{BitWriter, LittleEndianWriter};
use std::io::{Error, ErrorKind};
#[derive(Debug)]
struct FailingWriter;
impl std::io::Write for FailingWriter {
fn write(&mut self, _buf: &[u8]) -> std::io::Result<usize> {
Err(Error::new(ErrorKind::Other, "write failed"))
}
fn flush(&mut self) -> std::io::Result<()> {
Err(Error::new(ErrorKind::Other, "flush failed"))
}
}
let failing_writer = FailingWriter;
let mut writer = LittleEndianWriter::new(failing_writer);
writer.write_bit(true).unwrap();
let into_inner_error = writer.into_inner().unwrap_err();
// Access the error that occurred during flushing
let flush_error = into_inner_error.error();
println!("Flush failed: {}", flush_error);
// Recover the original writer for potential retry
let recovered_writer = into_inner_error.into_inner();Implementations§
Source§impl<W> IntoInnerError<W>
impl<W> IntoInnerError<W>
Sourcepub fn error(&self) -> &Error
pub fn error(&self) -> &Error
Returns the error which caused the call to into_inner() to fail.
This error was returned when attempting to flush the internal buffer.
Sourcepub fn into_inner(self) -> W
pub fn into_inner(self) -> W
Returns the writer instance which generated the error.
Trait Implementations§
Source§impl<W: Debug> Debug for IntoInnerError<W>
impl<W: Debug> Debug for IntoInnerError<W>
Source§impl<W> Display for IntoInnerError<W>
impl<W> Display for IntoInnerError<W>
Source§impl<W: Debug> Error for IntoInnerError<W>
impl<W: Debug> Error for IntoInnerError<W>
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 · 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<W> Freeze for IntoInnerError<W>where
W: Freeze,
impl<W> !RefUnwindSafe for IntoInnerError<W>
impl<W> Send for IntoInnerError<W>where
W: Send,
impl<W> Sync for IntoInnerError<W>where
W: Sync,
impl<W> Unpin for IntoInnerError<W>where
W: Unpin,
impl<W> !UnwindSafe for IntoInnerError<W>
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