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.

to_str : IOErr -> Str

Convert an I/O error to a concise human-readable message.