Espacios de nombres
Variantes
Acciones

Archivo de encabezado de la biblioteca estándar <system_error>

De cppreference.com
< cpp‎ | header
 
 
Archivos de encabezado de la biblioteca estándar
 

Este archivo de encabezado es parte de la biblioteca de control de errores.

[editar] Clases

Clase base para las categorías de error.
(clase) [editar]
Mantiene un código de error portátil.
(clase) [editar]
(C++11)
La enumeración std::error_condition que lista todas las constantes de macros <cerrno> estándar.
(clase) [editar]
Mantiene un código de error dependiente de la plataforma.
(clase) [editar]
Clase de excepción utilizada para reportar condiciones que tienen un código de error (error_code).
(clase) [editar]
Identifica una clase como una enumeración error_code.
(plantilla de clase) [editar]
Identifica una enumeración como una condición de error (std::error_condition).
(plantilla de clase) [editar]
Apoyo de generación de dispersión para std::error_code.
(especialización de plantilla de clase) [editar]

[editar] Funciones

Identifica la categoría de error genérica.
(función) [editar]
Identifica la categoría de error del sistema operativo.
(función) [editar]
Compara dos códigos de error (error_code).
(función) [editar]
Emite el valor y el mensaje a un flujo de salida.
(función) [editar]
Construye un código de error std::errc.
(función) [editar]
(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) [editar]
Construye una condición de error std::errc.
(función) [editar]

[editar] 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