Struct std::io::Error [] [src]

pub struct Error {
    // some fields omitted
}

The error type for I/O operations of the Read, Write, Seek, and associated traits.

Errors mostly originate from the underlying OS, but custom instances of Error can be created with crafted error messages and a particular value of ErrorKind.

Methods

impl Error

fn new<E>(kind: ErrorKind, error: E) -> Error where E: Into<Box<Error + Send + Sync>>

Creates a new I/O error from a known kind of error as well as an arbitrary error payload.

This function is used to generically create I/O errors which do not originate from the OS itself. The error argument is an arbitrary payload which will be contained in this Error.

Examples

use std::io::{Error, ErrorKind};

// errors can be created from strings
let custom_error = Error::new(ErrorKind::Other, "oh no!");

// errors can also be created from other errors
let custom_error2 = Error::new(ErrorKind::Interrupted, custom_error);

fn get_ref(&self) -> Option<&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.

fn get_mut(&mut self) -> Option<&mut Error + Send + Sync + 'static>

Returns a mutable 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.

fn into_inner(self) -> Option<Box<Error + Send + Sync>>

Consumes the Error, returning its inner error (if any).

If this Error was constructed via new then this function will return Some, otherwise it will return None.

fn kind(&self) -> ErrorKind

Returns the corresponding ErrorKind for this error.

Trait Implementations

impl Display for Error

fn fmt(&self, fmt: &mut Formatter) -> Result

impl Error for Error

fn description(&self) -> &str

fn cause(&self) -> Option<&Error>

Derived Implementations

impl Debug for Error

fn fmt(&self, __arg_0: &mut Formatter) -> Result