Inhaltsverzeichnis
<system_error>
Die Bibliothek definiert Klassen für Fehlerberichte aus Betriebssystem oder niederen Komponenten.
Klassen
class error_category
Beschreibung:
Basistyp für Fehlerarten.
Methoden: name()
liefert eine const char*
-Zeichenkette für die Fehlerart, message()
einen std::string
.
class error_code class error_condition
Beschreibung:
Während error_code
-Objekte implementationsabhängig Fehler aus Systemschichten übernehmen,
sollen error_condition
portable Abstraktionen zur Fehlerbeschreibung darstellen.
Methoden:
value() | liefert Fehlercode als Ganzzahl |
message() | liefert Fehlernachricht als std::string |
category() | liefert Referenz auf die Fehlerkategorie |
class system_error : public runtime_error
Beschreibung: Ausnahme, die Fehlerbedingungen mit Fehlercodes beschreibt. Solche Fehlerbedingungen kommen üblicherweise aus Schichten des Betriebssystems oder niederen Programmschnittstellen.
Methoden:
system_error(fehlercode, beschreibung) | Konstruktor |
system_error(ganzzahl, fehlerkategorie [, beschreibung]) | Beschreibung optional als char -Feld oder std::string |
code() | liefert Fehlernummer als Ganzzahl |
what() | liefert Fehlerbeschreiibung als Zeichenkette |
Funktionen
error_code make_error_code(errc e)
Beschreibung: Erzeugt einen Fehlercode.
error_condition make_error_condition(errc e)
Beschreibung: Erzeugt eine Fehlerbedingung.
Konstanten
In enum class errc
sind den Fehlercodes aus <cerrno> entsprechende Konstanten festgelegt:
Konstante in errc | in <cerrno> |
---|---|
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 |