std::errc
定义于头文件
<system_error> |
||
enum class errc;
|
(C++11 起) | |
有作用域枚举 std::errc
定义对应 POSIX 错误码的可移植错误条件。
成员常量
常量 | 等价的 POSIX 错误 |
address_family_not_supported |
EAFNOSUPPORT |
address_in_use |
EADDRINUSE |
address_not_available |
EADDRNOTAVAIL |
already_connected |
EISCONN |
argument_list_too_long |
E2BIG |
argument_out_of_domain |
EDOM |
bad_address |
EFAULT |
bad_file_descriptor |
EBADF |
bad_message |
EBADMSG |
broken_pipe |
EPIPE |
connection_aborted |
ECONNABORTED |
connection_already_in_progress |
EALREADY |
connection_refused |
ECONNREFUSED |
connection_reset |
ECONNRESET |
cross_device_link |
EXDEV |
destination_address_required |
EDESTADDRREQ |
device_or_resource_busy |
EBUSY |
directory_not_empty |
ENOTEMPTY |
executable_format_error |
ENOEXEC |
file_exists |
EEXIST |
file_too_large |
EFBIG |
filename_too_long |
ENAMETOOLONG |
function_not_supported |
ENOSYS |
host_unreachable |
EHOSTUNREACH |
identifier_removed |
EIDRM |
illegal_byte_sequence |
EILSEQ |
inappropriate_io_control_operation |
ENOTTY |
interrupted |
EINTR |
invalid_argument |
EINVAL |
invalid_seek |
ESPIPE |
io_error |
EIO |
is_a_directory |
EISDIR |
message_size |
EMSGSIZE |
network_down |
ENETDOWN |
network_reset |
ENETRESET |
network_unreachable |
ENETUNREACH |
no_buffer_space |
ENOBUFS |
no_child_process |
ECHILD |
no_link |
ENOLINK |
no_lock_available |
ENOLCK |
no_message_available |
ENODATA |
no_message |
ENOMSG |
no_protocol_option |
ENOPROTOOPT |
no_space_on_device |
ENOSPC |
no_stream_resources |
ENOSR |
no_such_device_or_address |
ENXIO |
no_such_device |
ENODEV |
no_such_file_or_directory |
ENOENT |
no_such_process |
ESRCH |
not_a_directory |
ENOTDIR |
not_a_socket |
ENOTSOCK |
not_a_stream |
ENOSTR |
not_connected |
ENOTCONN |
not_enough_memory |
ENOMEM |
not_supported |
ENOTSUP |
operation_canceled |
ECANCELED |
operation_in_progress |
EINPROGRESS |
operation_not_permitted |
EPERM |
operation_not_supported |
EOPNOTSUPP |
operation_would_block |
EWOULDBLOCK |
owner_dead |
EOWNERDEAD |
permission_denied |
EACCES |
protocol_error |
EPROTO |
protocol_not_supported |
EPROTONOSUPPORT |
read_only_file_system |
EROFS |
resource_deadlock_would_occur |
EDEADLK |
resource_unavailable_try_again |
EAGAIN |
result_out_of_range |
ERANGE |
state_not_recoverable |
ENOTRECOVERABLE |
stream_timeout |
ETIME |
text_file_busy |
ETXTBSY |
timed_out |
ETIMEDOUT |
too_many_files_open_in_system |
ENFILE |
too_many_files_open |
EMFILE |
too_many_links |
EMLINK |
too_many_symbolic_link_levels |
ELOOP |
value_too_large |
EOVERFLOW |
wrong_protocol_type |
EPROTOTYPE |
非成员函数
(C++11)
|
构造 std::errc 错误码 (函数) |
(C++11)
|
构造 std::errc 错误条件 (函数) |
帮助类
扩充 std::is_error_condition_enum 类型特性以鉴别 std::errc 值为 error_condition (函数模板) |
示例
#include <iostream> #include <system_error> #include <thread> int main() { try { std::thread().detach(); // 脱附一个非线程 } catch (const std::system_error& e) { std::cout << "Caught a system_error\n"; if(e.code() == std::errc::invalid_argument) std::cout << "The error condition is std::errc::invalid_argument\n"; std::cout << "the error description is " << e.what() << '\n'; } }
输出:
Caught a system_error The error condition is std::errc::invalid_argument the error description is Invalid argument
参阅
(C++11)
|
保有依赖于平台的错误码 (类) |
(C++11)
|
保有可移植的错误码 (类) |