std::errc
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <system_error>
  | 
||
|   enum class errc;  | 
(since C++11) | |
The scoped enumeration std::errc defines the values of portable error conditions that correspond to the POSIX error codes. 
Member constants
| Constant | Equivalent POSIX Error | 
  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 | 
Non-member functions
|    (C++11)  | 
   constructs an std::errc error code  (function)  | 
|    constructs an std::errc error condition  (function)  | 
Helper classes
|    extends the type trait std::is_error_condition_enum to identify the the std::errc values as error conditions  (function template)  | 
Example
Run this code
#include <iostream> #include <system_error> #include <thread> int main() { try { std::thread().detach(); // detaching a not-a-thread } 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'; } }
Output:
Caught a system_error The error condition is std::errc::invalid_argument the error description is Invalid argument
See also
|    (C++11)  | 
   holds a platform-dependent error code   (class)  | 
|    (C++11)  | 
   holds a portable error code  (class)  |