本章介绍了用于检索和设置错误以及 NSPR 设置的错误代码的函数。
有关 NSPR 类型、函数和宏的命名约定的信息,请参阅 NSPR 命名约定。
错误类型¶
错误函数¶
错误代码¶
在 prerror.h
中定义的错误代码
PR_OUT_OF_MEMORY_ERROR
内存不足以执行请求。
PR_BAD_DESCRIPTOR_ERROR
用作先前函数中参数的文件描述符无效。
PR_WOULD_BLOCK_ERROR
该操作将导致阻塞,这与已建立的语义冲突。
PR_ACCESS_FAULT_ERROR
先前函数的参数之一指定了一个无效的内存地址。
PR_INVALID_METHOD_ERROR
对于所使用的文件描述符类型,先前函数无效。
PR_ILLEGAL_ACCESS_ERROR
先前函数的参数之一指定了一个无效的内存地址。
PR_UNKNOWN_ERROR
发生了一些未知错误。
PR_PENDING_INTERRUPT_ERROR
该操作终止是因为另一个线程已使用 PR_Interrupt 中断了它。
PR_NOT_IMPLEMENTED_ERROR
先前函数尚未实现。
PR_IO_ERROR
先前的 I/O 函数遇到某种错误,可能是无效的设备。
PR_IO_TIMEOUT_ERROR
I/O 操作在先前函数指定的时间内未完成。
PR_IO_PENDING_ERROR
已尝试对当前正忙于另一个操作的文件描述符执行 I/O 操作。
PR_DIRECTORY_OPEN_ERROR
无法打开目录。
PR_INVALID_ARGUMENT_ERROR
函数的一个或多个参数无效。
PR_ADDRESS_NOT_AVAILABLE_ERROR
网络地址 (PRNetAddr) 不可用(可能正在使用)。
PR_ADDRESS_NOT_SUPPORTED_ERROR
指定的网络地址类型不受支持。
PR_IS_CONNECTED_ERROR
尝试连接到已连接的网络文件描述符。
PR_BAD_ADDRESS_ERROR
指定的网络地址无效(如网络报告的那样)。
PR_ADDRESS_IN_USE_ERROR
指定的网络地址 (PRNetAddr) 正在使用。
PR_CONNECT_REFUSED_ERROR
对等方拒绝建立连接。
PR_NETWORK_UNREACHABLE_ERROR
网络地址指定了一个无法访问的主机(可能是临时的)。
PR_CONNECT_TIMEOUT_ERROR
连接尝试未在合理的时间段内完成。
PR_NOT_CONNECTED_ERROR
先前函数尝试在未连接的网络文件描述符上使用连接语义。
PR_LOAD_LIBRARY_ERROR
加载动态库失败。
PR_UNLOAD_LIBRARY_ERROR
卸载动态库失败。
PR_FIND_SYMBOL_ERROR
在指定的库中找不到符号。
PR_INSUFFICIENT_RESOURCES_ERROR
系统资源不足以处理请求。
PR_DIRECTORY_LOOKUP_ERROR
网络地址上的目录查找失败。
PR_TPD_RANGE_ERROR
尝试访问线程私有数据索引,该索引超出已分配给进程的任何索引的范围。
PR_PROC_DESC_TABLE_FULL_ERROR
用于保存打开的文件描述符的进程表已满。
PR_SYS_DESC_TABLE_FULL_ERROR
已超过用于保存打开的文件描述符的系统表。
PR_NOT_SOCKET_ERROR
尝试在仅网络操作上使用非网络文件描述符。
PR_NOT_TCP_SOCKET_ERROR
尝试在非 TCP 文件描述符上执行 TCP 特定函数。
PR_SOCKET_ADDRESS_IS_BOUND_ERRO
尝试将地址绑定到已绑定 TCP 文件描述符。
PR_NO_ACCESS_RIGHTS_ERROR
调用线程没有权限执行请求的操作。
PR_OPERATION_NOT_SUPPORTED_ERRO
平台不支持请求的操作。
PR_PROTOCOL_NOT_SUPPORTED_ERROR
主机操作系统不支持请求的协议。
PR_REMOTE_FILE_ERROR
对远程文件的访问已断开。
PR_BUFFER_OVERFLOW_ERROR
检索到的值太大,无法存储在提供的缓冲区中。
PR_CONNECT_RESET_ERROR
(TCP)连接已被对等方重置。
PR_RANGE_ERROR
未使用。
PR_DEADLOCK_ERROR
执行请求的操作将导致死锁。已避免死锁。
PR_FILE_IS_LOCKED_ERROR
尝试获取文件上的锁失败,因为该文件已锁定。
PR_FILE_TOO_BIG_ERROR
完成写或查找操作将导致文件大于系统可以处理的文件。
PR_NO_DEVICE_SPACE_ERROR
用于存储文件的设备已满。
PR_PIPE_ERROR
未使用。
PR_NO_SEEK_DEVICE_ERROR
未使用。
PR_IS_DIRECTORY_ERROR
尝试对目录执行普通文件操作。
PR_LOOP_ERROR
符号链接循环。
PR_NAME_TOO_LONG_ERROR
文件名长于主机操作系统允许的长度。
PR_FILE_NOT_FOUND_ERROR
未找到请求的文件。
PR_NOT_DIRECTORY_ERROR
尝试对普通文件执行特定于目录的操作。
PR_READ_ONLY_FILESYSTEM_ERROR
尝试写入只读文件系统。
PR_DIRECTORY_NOT_EMPTY_ERROR
尝试删除非空目录。
PR_FILESYSTEM_MOUNTED_ERROR
在文件系统繁忙时尝试删除或重命名文件对象。
PR_NOT_SAME_DEVICE_ERROR
请求将文件重命名到另一个设备上的文件系统。
PR_DIRECTORY_CORRUPTED_ERROR
文件系统中的目录对象已损坏。
PR_FILE_EXISTS_ERROR
当新名称已在使用时尝试创建或重命名文件。
PR_MAX_DIRECTORY_ENTRIES_ERROR
尝试将新文件名添加到目录将超过允许的限制。
PR_INVALID_DEVICE_STATE_ERROR
设备处于无效状态,无法完成所需的操作。
PR_DEVICE_IS_LOCKED_ERROR
执行所需请求所需的设备已锁定。
PR_NO_MORE_FILES_ERROR
目录中没有更多条目。
PR_END_OF_FILE_ERROR
意外遇到文件结尾(仅限 Mac OS)。
PR_FILE_SEEK_ERROR
意外的查找错误(仅限 Mac OS)。
PR_FILE_IS_BUSY_ERROR
文件繁忙,无法执行操作。
PR_IN_PROGRESS_ERROR
操作仍在进行中(可能是非阻塞连接)。
PR_ALREADY_INITIATED_ERROR
(重试)操作已启动(可能是非阻塞连接)。
PR_GROUP_EMPTY_ERROR
等待组为空。
PR_INVALID_STATE_ERROR
尝试对处于不正确状态以执行请求的对象进行操作。
PR_MAX_ERROR
列表末尾的占位符。