namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:include:system_error

<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_operationENOTTY
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

Siehe auch

kennen/include/system_error.txt · Zuletzt geändert: 2012-04-12 11:37 (Externe Bearbeitung)