Enum std::io::ErrorKind 1.0.0[−][src]
#[non_exhaustive]
pub enum ErrorKind {
Show 40 variants
NotFound,
PermissionDenied,
ConnectionRefused,
ConnectionReset,
HostUnreachable,
NetworkUnreachable,
ConnectionAborted,
NotConnected,
AddrInUse,
AddrNotAvailable,
NetworkDown,
BrokenPipe,
AlreadyExists,
WouldBlock,
NotADirectory,
IsADirectory,
DirectoryNotEmpty,
ReadOnlyFilesystem,
FilesystemLoop,
StaleNetworkFileHandle,
InvalidInput,
InvalidData,
TimedOut,
WriteZero,
StorageFull,
NotSeekable,
FilesystemQuotaExceeded,
FileTooLarge,
ResourceBusy,
ExecutableFileBusy,
Deadlock,
CrossesDevices,
TooManyLinks,
FilenameTooLong,
ArgumentListTooLong,
Interrupted,
Unsupported,
UnexpectedEof,
OutOfMemory,
Other,
// some variants omitted
}
Expand description
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
NotFound
找不到实体,通常是文件。
PermissionDenied
该操作缺少完成操作所需的权限。
ConnectionRefused
远程服务器拒绝了连接。
ConnectionReset
连接已由远程服务器重置。
HostUnreachable
远程主机不可访问。
NetworkUnreachable
无法访问包含远程主机的网络。
ConnectionAborted
(terminated) 连接被远程服务器中止。
NotConnected
网络操作失败,因为尚未连接。
AddrInUse
无法绑定套接字地址,因为该地址已在其他地方使用。
AddrNotAvailable
请求了不存在的接口,或者请求的地址不是本地的。
NetworkDown
系统的网络已关闭。
BrokenPipe
操作失败,因为管道已关闭。
AlreadyExists
一个实体已经存在,通常是一个文件。
WouldBlock
该操作需要阻止才能完成,但是请求阻止操作不会发生。
NotADirectory
出乎意料的是,文件系统对象不是目录。
例如,指定了一个文件系统路径,其中一个中间目录组件实际上是一个普通文件。
IsADirectory
出乎意料的是,文件系统对象是一个目录。
当需要一个非目录时指定了一个目录。
DirectoryNotEmpty
在需要空目录的地方指定了一个非空目录。
ReadOnlyFilesystem
文件系统或存储介质是只读的,但尝试了写入操作。
FilesystemLoop
在文件系统或 IO 子系统中循环; 通常,太多级别的符号链接。
有一个循环 (或过长的链) 解析文件系统对象或文件 IO 对象。
在 Unix 上,这通常是符号链接循环的结果; 或者,超过系统特定的符号链接遍历深度限制。
StaleNetworkFileHandle
陈旧的网络文件句柄。
对于某些网络文件系统,尤其是 NFS,打开的文件 (或目录) 可能会因网络或服务器问题而失效。
InvalidInput
参数不正确。
InvalidData
1.2.0
遇到对该操作无效的数据。
与 InvalidInput
不同,这通常意味着操作参数有效,但是该错误是由格式错误的输入数据引起的。
例如,如果文件的内容无效 UTF-8,则将文件读入字符串的函数将出现 InvalidData
错误。
TimedOut
I/O 操作的超时已到期,导致其被取消。
WriteZero
StorageFull
底层存储 (通常是文件系统) 已满。
这不包括超出配额的错误。
NotSeekable
Seek 在不可搜索的文件上。
尝试在不适合搜索的打开文件句柄上进行搜索 - 例如,在 Unix 上,使用 File::open
打开的命名管道。
FilesystemQuotaExceeded
超出了文件系统配额。
FileTooLarge
文件大于允许或支持。
这可能源于底层文件系统或文件访问 API 的硬限制,或源于管理强加的资源限制。 简单的磁盘已满,超出配额,都有自己的错误。
ResourceBusy
资源繁忙。
ExecutableFileBusy
可执行文件正忙。
试图写入一个文件,该文件也用作正在运行的程序。 (并非所有操作系统都检测到这种情况。)
Deadlock
死锁 (avoided)。
文件锁定操作会导致死锁。 这种情况通常是在尽力而为的基础上检测到的。
CrossesDevices
跨设备或跨文件系统 (hard) 链接或重命名。
TooManyLinks
太多 (hard) 链接到同一个文件系统对象。
文件系统不支持对同一个文件建立如此多的硬链接。
FilenameTooLong
文件名太长。
该限制可能来自底层文件系统或 API,或者是管理上强加的资源限制。
ArgumentListTooLong
程序参数列表太长。
尝试运行外部程序时,会超出系统或进程对参数大小的限制。
Interrupted
该操作被中断。
通常可以重试中断的操作。
Unsupported
1.53.0
此平台不支持此操作。
这意味着操作永远不会成功。
UnexpectedEof
1.6.0
由于过早到达 “文件结尾” 而无法完成操作时,返回错误。
通常,这意味着操作只有在读取特定数量的字节后才能成功,但是只能读取较少的字节。
OutOfMemory
1.54.0
操作无法完成,因为它未能分配足够的内存。
Other
不属于任何其他 I/O 错误类型的自定义错误。
这可用于构建您自己的不匹配任何 ErrorKind
的 Error
。
标准库不使用此 ErrorKind
。
标准库中不属于任何 I/O 错误类型的错误无法 匹配
,并且只会匹配通配符 (_
) 模式。
可能会在 future 中为其中一些添加新的 ErrorKind
。