# Enum std::io::ErrorKind [−] [src]

    pub enum ErrorKind {
        NotFound,
        PermissionDenied,
        ConnectionRefused,
        ConnectionReset,
        ConnectionAborted,
        NotConnected,
        AddrInUse,
        AddrNotAvailable,
        BrokenPipe,
        AlreadyExists,
        WouldBlock,
        InvalidInput,
        InvalidData,
        TimedOut,
        WriteZero,
        Interrupted,
        Other,
        UnexpectedEOF,
        UnexpectedEof,
        // some variants omitted
    }

A list specifying general categories of I/O error.

This list is intended to grow over time and it is not recommended to exhaustively match against it.

## Variants

`NotFound` | An entity was not found, often a file.
`PermissionDenied` | The operation lacked the necessary privileges to complete.
`ConnectionRefused` | The connection was refused by the remote server.
`ConnectionReset` | The connection was reset by the remote server.
`ConnectionAborted` | The connection was aborted (terminated) by the remote server.
`NotConnected` | The network operation failed because it was not connected yet.
`AddrInUse` | A socket address could not be bound because the address is already in use elsewhere.
`AddrNotAvailable` | A nonexistent interface was requested or the requested address was not local.
`BrokenPipe` | The operation failed because a pipe was closed.
`AlreadyExists` | An entity already exists, often a file.
`WouldBlock` | The operation needs to block to complete, but the blocking operation was requested to not occur.
`InvalidInput` | A parameter was incorrect.
`InvalidData` | Data not valid for the operation were encountered. Unlike `InvalidInput`, this typically means that the operation parameters were valid, however the error was caused by malformed input data. For example, a function that reads a file into a string will error with `InvalidData` if the file's contents are not valid UTF-8.
`TimedOut` | The I/O operation's timeout expired, causing it to be canceled.
`WriteZero` | An error returned when an operation could not be completed because a call to `write` returned `Ok(0)`. This typically means that an operation could only succeed if it wrote a particular number of bytes but only a smaller number of bytes could be written.
`Interrupted` | This operation was interrupted. Interrupted operations can typically be retried.
`Other` | Any I/O error not part of this list.
`UnexpectedEOF` | Deprecated since 1.6.0 : renamed to UnexpectedEof
`UnexpectedEof` | An error returned when an operation could not be completed because an "end of file" was reached prematurely. This typically means that an operation could only succeed if it read a particular number of bytes but only a smaller number of bytes could be read.

## Trait Implementations

### Derived Implementations

### `impl Debug for ErrorKind`

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

### `impl Clone for ErrorKind`

#### `fn clone(&self) -> ErrorKind`

#### `fn clone_from(&mut self, source: &Self)`

### `impl Eq for ErrorKind`

### `impl PartialEq for ErrorKind`

#### `fn eq(&self, __arg_0: &ErrorKind) -> bool`

#### `fn ne(&self, __arg_0: &ErrorKind) -> bool`

### `impl Copy for ErrorKind`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize`)