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 错误码 (函数) |
构造 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) |
保有可移植的错误码 (类) |