Archivo de encabezado de la biblioteca estándar <system_error>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de control de errores.
Clases
(C++11) |
Clase base para las categorías de error. (clase) |
(C++11) |
Mantiene un código de error portátil. (clase) |
(C++11) |
La enumeración std::error_condition que lista todas las constantes de macros <cerrno> estándar. (clase) |
(C++11) |
Mantiene un código de error dependiente de la plataforma. (clase) |
(C++11) |
Clase de excepción utilizada para reportar condiciones que tienen un código de error (error_code). (clase) |
(C++11) |
Identifica una clase como una enumeración error_code. (plantilla de clase) |
(C++11) |
Identifica una enumeración como una condición de error (std::error_condition). (plantilla de clase) |
(C++11) |
Apoyo de generación de dispersión para std::error_code. (especialización de plantilla de clase) |
Funciones
(C++11) |
Identifica la categoría de error genérica. (función) |
(C++11) |
Identifica la categoría de error del sistema operativo. (función) |
Compara dos códigos de error (error_code). (función) | |
| Emite el valor y el mensaje a un flujo de salida. (función) | |
(C++11) |
Construye un código de error std::errc. (función) |
(eliminado en C++20)(eliminado en C++20)(C++20) |
Compara condiciones de error (error_condition) y códigos de error (error_code). (función) |
| Construye una condición de error std::errc. (función) |
Sinopsis
namespace std {
class error_category;
class error_code;
class error_condition;
class system_error;
template <class T>
struct is_error_code_enum : public false_type {};
template <class T>
struct is_error_condition_enum : public false_type {};
enum class errc {
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
};
template <> struct is_error_condition_enum<errc> : true_type { }
const error_category& generic_category() noexcept;
const error_category& system_category() noexcept;
error_code make_error_code(errc e) noexcept;
error_condition make_error_condition(errc e) noexcept;
// Operadores de comparación:
bool operator==(const error_code& lhs, const error_code& rhs) noexcept;
bool operator==(const error_code& lhs, const error_condition& rhs) noexcept;
bool operator==(const error_condition& lhs, const error_code& rhs) noexcept;
bool operator==(const error_condition& lhs, const error_condition& rhs) noexcept;
bool operator!=(const error_code& lhs, const error_code& rhs) noexcept;
bool operator!=(const error_code& lhs, const error_condition& rhs) noexcept;
bool operator!=(const error_condition& lhs, const error_code& rhs) noexcept;
bool operator!=(const error_condition& lhs, const error_condition& rhs) noexcept;
// Soporte hash (de resumen)
template <class T> struct hash;
template <> struct hash<error_code>;
} // namespace std