Namensräume
Varianten
Aktionen

std::bad_expected_access

Von cppreference.com
< cpp‎ | utility‎ | expected
 
 
Dienstprogramm-Bibliotheken
Sprachunterstützung
Typunterstützung (Basistypen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Coroutine-Unterstützung (C++20)
Vertragsunterstützung (C++26)
Drei-Wege-Vergleich
(C++20)
(C++20)(C++20)(C++20)  
(C++20)(C++20)(C++20)

Allgemeine Hilfsmittel
Relationale Operatoren (in C++20 veraltet)
 
 
Definiert in der Header-Datei <expected>
template< class E >
class bad_expected_access : public std::bad_expected_access<void>
(1) (seit C++23)
template<>
class bad_expected_access<void> : public std::exception
(2) (seit C++23)
1) Definiert einen Typ von Objekt, der von std::expected::value geworfen wird, wenn auf ein erwartetes Objekt zugegriffen wird, das einen unerwarteten Wert enthält. bad_expected_access<E> speichert eine Kopie des unerwarteten Wertes.
2) bad_expected_access<void> ist die Basisklasse aller anderen bad_expected_access-Spezialisierungen.

Inhalt

[bearbeiten] Mitglieder der primären Vorlage

(Konstruktor)
konstruiert ein bad_expected_access-Objekt
(öffentliche Memberfunktion)
error
gibt den gespeicherten Wert zurück
(öffentliche Memberfunktion)
what
gibt den erklärenden String zurück
(öffentliche Memberfunktion)

std::bad_expected_access::bad_expected_access

explicit bad_expected_access( E e );

Konstruiert ein neues bad_expected_access<E>-Objekt. Initialisiert den gespeicherten Wert mit std::move(e).

std::bad_expected_access::error

const E& error() const & noexcept;

E& error() & noexcept;
const E&& error() const && noexcept;

E&& error() && noexcept;

Gibt eine Referenz auf den gespeicherten Wert zurück.

std::bad_expected_access::what

const char* what() const noexcept override;

Gibt den erklärenden String zurück.

Parameter

(keine)

Rückgabewert

Zeiger auf eine nullterminierte Zeichenkette mit erläuternden Informationen. Die Zeichenkette ist für die Konvertierung und Anzeige als std::wstring geeignet. Der Zeiger ist garantiert mindestens gültig, bis das Ausnahmeobjekt, von dem er erhalten wurde, zerstört wird, oder bis eine nicht-konstante Memberfunktion (z.B. Kopierzuweisungsoperator) des Ausnahmeobjekts aufgerufen wird.

Anmerkungen

Implementierungen dürfen what() überschreiben, sind aber nicht dazu verpflichtet.

[bearbeiten] Mitglieder der Spezialisierung bad_expected_access<void>

(Konstruktor)
konstruiert ein bad_expected_access<void>-Objekt
(geschützte Memberfunktion)
(Destruktor)
zerstört das bad_expected_access<void>-Objekt
(geschützte Memberfunktion)
operator=
weist das bad_expected_access<void>-Objekt neu zu
(geschützte Memberfunktion)
what
gibt den erklärenden String zurück
(öffentliche Memberfunktion)

Spezielle Memberfunktionen von bad_expected_access<void> sind geschützt. Sie können nur von abgeleiteten Klassen aufgerufen werden.

[bearbeiten] Beispiel