std::errc
来自cppreference.com
                    
                                        
                    
                    
                                                            
                    |   定义于头文件  <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)  | 
   保有可移植的错误码  (类)  |