NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
错误码

错误码系统实现 更多...

class  neforce::error_category
 错误类别抽象基类 更多...
class  neforce::generic_error_category
 通用错误类别 更多...
class  neforce::system_error_category
 系统错误类别 更多...
class  neforce::error_code
 错误码 更多...
class  neforce::error_condition
 错误条件 更多...
class  neforce::ssl_error_category
 OpenSSL错误类别 更多...

枚举

enum class  neforce::errc : int32_t {
  errc::success = 0 , errc::address_family_not_supported = EAFNOSUPPORT , errc::address_in_use = EADDRINUSE , errc::address_not_available = EADDRNOTAVAIL ,
  errc::already_connected = EISCONN , errc::argument_list_too_long = E2BIG , errc::argument_out_of_domain = EDOM , errc::bad_address = EFAULT ,
  errc::bad_file_descriptor = EBADF , errc::invalid_argument = EINVAL , errc::value_too_large = EOVERFLOW , errc::result_out_of_range = ERANGE ,
  errc::broken_pipe = EPIPE , errc::connection_aborted = ECONNABORTED , errc::connection_already_in_progress = EALREADY , errc::connection_refused = ECONNREFUSED ,
  errc::connection_reset = ECONNRESET , errc::destination_address_required = EDESTADDRREQ , errc::host_unreachable = EHOSTUNREACH , errc::message_size = EMSGSIZE ,
  errc::network_down = ENETDOWN , errc::network_reset = ENETRESET , errc::network_unreachable = ENETUNREACH , errc::no_buffer_space = ENOBUFS ,
  errc::no_protocol_option = ENOPROTOOPT , errc::not_connected = ENOTCONN , errc::operation_in_progress = EINPROGRESS , errc::operation_would_block = EWOULDBLOCK ,
  errc::protocol_error = EPROTO , errc::protocol_not_supported = EPROTONOSUPPORT , errc::stream_timeout = ETIME , errc::timed_out = ETIMEDOUT ,
  errc::wrong_protocol_type = EPROTOTYPE , errc::cross_device_link = EXDEV , errc::device_or_resource_busy = EBUSY , errc::directory_not_empty = ENOTEMPTY ,
  errc::file_exists = EEXIST , errc::file_too_large = EFBIG , errc::filename_too_long = ENAMETOOLONG , errc::inappropriate_io_control_operation = ENOTTY ,
  errc::invalid_seek = ESPIPE , errc::io_error = EIO , errc::is_a_directory = EISDIR , errc::no_space_on_device = ENOSPC ,
  errc::no_such_device_or_address = ENXIO , errc::no_such_device = ENODEV , errc::no_such_file_or_directory = ENOENT , errc::not_a_directory = ENOTDIR ,
  errc::read_only_file_system = EROFS , errc::text_file_busy = ETXTBSY , errc::too_many_files_open_in_system = ENFILE , errc::too_many_files_open = EMFILE ,
  errc::too_many_links = EMLINK , errc::too_many_symbolic_link_levels = ELOOP , errc::no_child_process = ECHILD , errc::no_such_process = ESRCH ,
  errc::operation_not_permitted = EPERM , errc::permission_denied = EACCES , errc::not_enough_memory = ENOMEM , errc::no_lock_available = ENOLCK ,
  errc::interrupted = EINTR , errc::owner_dead = EOWNERDEAD , errc::state_not_recoverable = ENOTRECOVERABLE , errc::executable_format_error = ENOEXEC ,
  errc::function_not_supported = ENOSYS , errc::illegal_byte_sequence = EILSEQ , errc::not_supported = ENOTSUP , errc::operation_not_supported = EOPNOTSUPP ,
  errc::no_message_available = ENODATA , errc::no_message = ENOMSG , errc::operation_canceled = ECANCELED , errc::resource_deadlock_would_occur = EDEADLK ,
  errc::resource_unavailable_try_again = EAGAIN , errc::identifier_removed = EIDRM , errc::no_link = ENOLINK , errc::not_a_socket = ENOTSOCK
}
 系统错误码枚举 更多...

函数

const error_categoryneforce::generic_category () noexcept
 获取通用错误类别单例
error_code neforce::make_error_code (errc e) noexcept
 从 errc 枚举创建错误码
error_condition neforce::make_error_condition (errc e) noexcept
 从 errc 枚举创建错误条件
const error_categoryneforce::system_category () noexcept
 获取系统错误类别单例
error_code neforce::last_error () noexcept
 获取当前系统错误码
const error_categoryneforce::ssl_category () noexcept
 获取SSL错误类别单例
static const error_category & neforce::error_category::generic () noexcept
 获取通用错误类别单例
static const error_category & neforce::error_category::system () noexcept
 获取系统错误类别单例

详细描述

错误码系统实现

枚举类型说明

◆ errc

enum class neforce::errc : int32_t
strong

系统错误码枚举

定义了常见的系统错误码,与POSIX errno值对应。 提供类型安全的错误码表示,避免使用原始整数。

枚举值
success 

操作成功

address_family_not_supported 

地址族不支持

address_in_use 

地址已在使用中

address_not_available 

地址不可用

already_connected 

已连接

argument_list_too_long 

参数列表过长

argument_out_of_domain 

参数超出域

bad_address 

错误地址

bad_file_descriptor 

错误的文件描述符

invalid_argument 

无效参数

value_too_large 

值过大

result_out_of_range 

结果超出范围

broken_pipe 

管道破裂

connection_aborted 

连接中止

connection_already_in_progress 

连接已在进行中

connection_refused 

连接被拒绝

connection_reset 

连接被重置

destination_address_required 

需要目标地址

host_unreachable 

主机不可达

message_size 

消息大小错误

network_down 

网络故障

network_reset 

网络重置

network_unreachable 

网络不可达

no_buffer_space 

无缓冲区空间

no_protocol_option 

无协议选项

not_connected 

未连接

operation_in_progress 

操作进行中

operation_would_block 

操作会阻塞

protocol_error 

协议错误

protocol_not_supported 

协议不支持

stream_timeout 

流超时

timed_out 

超时

wrong_protocol_type 

错误的协议类型

cross_device_link 

跨设备链接

device_or_resource_busy 

设备或资源忙

directory_not_empty 

目录非空

file_exists 

文件已存在

file_too_large 

文件过大

filename_too_long 

文件名过长

inappropriate_io_control_operation 

不适当的I/O控制操作

invalid_seek 

无效的偏移定位

io_error 

I/O错误

is_a_directory 

是目录

no_space_on_device 

设备无空间

no_such_device_or_address 

无此设备或地址

no_such_device 

无此设备

no_such_file_or_directory 

无此文件或目录

not_a_directory 

不是目录

read_only_file_system 

只读文件系统

text_file_busy 

文本文件忙

too_many_files_open_in_system 

系统中打开文件过多

too_many_files_open 

打开文件过多

too_many_links 

链接过多

too_many_symbolic_link_levels 

符号链接层次过多

no_child_process 

无子进程

no_such_process 

无此进程

operation_not_permitted 

操作不允许

permission_denied 

权限被拒绝

not_enough_memory 

内存不足

no_lock_available 

无可用锁

interrupted 

被中断

owner_dead 

所有者已死

state_not_recoverable 

状态不可恢复

executable_format_error 

可执行文件格式错误

function_not_supported 

功能不支持

illegal_byte_sequence 

非法字节序列

not_supported 

不支持

operation_not_supported 

操作不支持

no_message_available 

无可用消息

no_message 

无消息

operation_canceled 

操作已取消

resource_deadlock_would_occur 

可能发生死锁

resource_unavailable_try_again 

资源不可用,请重试

identifier_removed 

标识符已移除

no_link 

无链接

not_a_socket 

不是套接字

在文件 errc.hpp29 行定义.

函数说明

◆ generic()

const error_category & neforce::error_category::generic ( )
inlinestaticnoexcept

获取通用错误类别单例

返回
通用错误类别引用

在文件 error_category.hpp126 行定义.

引用了 generic() , 以及 neforce::generic_category().

被这些函数引用 generic().

◆ generic_category()

const error_category & neforce::generic_category ( )
noexcept

获取通用错误类别单例

返回
通用错误类别引用

引用了 make_error_code() , 以及 make_error_condition().

被这些函数引用 neforce::error_condition::clear(), neforce::error_category::generic(), make_error_code() , 以及 make_error_condition().

◆ last_error()

error_code neforce::last_error ( )
noexcept

获取当前系统错误码

返回
关联 system_category() 的当前 errno 值

引用了 last_error().

被这些函数引用 last_error().

◆ make_error_code()

error_code neforce::make_error_code ( errc e)
inlinenoexcept

从 errc 枚举创建错误码

参数
e错误码枚举值
返回
关联 generic_category() 的错误码

在文件 error_code.hpp151 行定义.

引用了 generic_category() , 以及 make_error_code().

被这些函数引用 neforce::error_code::error_code(), generic_category() , 以及 make_error_code().

◆ make_error_condition()

error_condition neforce::make_error_condition ( errc e)
inlinenoexcept

从 errc 枚举创建错误条件

参数
e错误码枚举值
返回
关联 generic_category() 的错误条件

在文件 error_condition.hpp121 行定义.

引用了 generic_category() , 以及 make_error_condition().

被这些函数引用 neforce::error_condition::error_condition(), generic_category() , 以及 make_error_condition().

◆ ssl_category()

const error_category & neforce::ssl_category ( )
noexcept

获取SSL错误类别单例

返回
SSL错误类别引用

引用了 ssl_category().

被这些函数引用 ssl_category(), neforce::ssl_exception::ssl_exception() , 以及 neforce::ssl_exception::ssl_exception().

◆ system()

const error_category & neforce::error_category::system ( )
inlinestaticnoexcept

获取系统错误类别单例

返回
系统错误类别引用

在文件 error_category.hpp150 行定义.

引用了 system() , 以及 neforce::system_category().

被这些函数引用 neforce::make_operation_aborted() , 以及 system().

◆ system_category()

const error_category & neforce::system_category ( )
noexcept

获取系统错误类别单例

返回
系统错误类别引用

被这些函数引用 neforce::error_code::clear(), neforce::socket_exception::is_would_block() , 以及 neforce::error_category::system().