Convert an I/O error to a concise human-readable message.
IOErr
:= [
AlreadyExists,
BrokenPipe,
Interrupted,
IsADirectory,
NotFound,
NotADirectory,
Other(Str),
OutOfMemory,
PermissionDenied,
Unsupported,
]
Represents an I/O error that can occur during platform operations.
**NotFound** - An entity was not found, often a file.
**PermissionDenied** - The operation lacked the necessary privileges to complete.
**BrokenPipe** - The operation failed because a pipe was closed.
**AlreadyExists** - An entity already exists, often a file.
**Interrupted** - This operation was interrupted. Interrupted operations can typically be retried.
**IsADirectory** - A filesystem operation expected a non-directory path.
**NotADirectory** - A filesystem operation expected a directory path.
**Unsupported** - This operation is unsupported on this platform. This means that the operation can never succeed.
**OutOfMemory** - An operation could not be completed, because it failed to allocate enough memory.
**Other** - A custom error that does not fall under any other I/O error kind.