本章介绍了用于检索和设置错误以及 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

列表末尾的占位符。