std:: bad_function_call
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Definiert in Header
<functional>
|
||
|
class
bad_function_call
;
|
||
std::bad_function_call
ist der Typ der Ausnahme, die von
std::function::operator()
geworfen wird, wenn der Funktionswrapper kein Ziel besitzt.
Vererbungsdiagramm
Inhaltsverzeichnis |
Memberfunktionen
|
(Konstruktor)
|
konstruiert ein neues
bad_function_call
Objekt
(öffentliche Elementfunktion) |
|
operator=
|
ersetzt das
bad_function_call
Objekt
(öffentliche Elementfunktion) |
|
what
|
gibt den erläuternden String zurück
(öffentliche Elementfunktion) |
std::bad_function_call:: bad_function_call
|
bad_function_call
(
)
noexcept
;
|
(1) | (seit C++11) |
|
bad_function_call
(
const
bad_function_call
&
other
)
noexcept
;
|
(2) | (seit C++11) |
Konstruiert ein neues
bad_function_call
-Objekt mit einem implementierungsdefinierten nullterminierten Byte-String, der über
what()
zugänglich ist.
std::bad_function_call
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Parameter
| other | - | ein weiteres Ausnahmeobjekt zum Kopieren |
std::bad_function_call:: operator=
|
bad_function_call
&
operator
=
(
const
bad_function_call
&
other
)
noexcept
;
|
(seit C++11) | |
Weist die Inhalte mit denen von
other
zu. Wenn
*
this
und
other
beide den dynamischen Typ
std::bad_function_call
haben, dann gilt
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
nach der Zuweisung.
Parameter
| other | - | ein weiteres Ausnahmeobjekt zum Zuweisen |
Rückgabewert
* this
std::bad_function_call:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(seit C++11) | |
Gibt den erklärenden String zurück.
Rückgabewert
Zeiger auf einen implementierungsdefinierten nullterminierten String mit erklärenden Informationen. Der String ist geeignet für Konvertierung und Anzeige als std::wstring . Der Zeiger ist garantiert mindestens so lange gültig, bis das Ausnahmeobjekt, von dem er erhalten wurde, zerstört wird, oder bis eine nicht-konstante Memberfunktion (z.B. Kopierzuweisungsoperator) auf dem Ausnahmeobjekt aufgerufen wird.
Anmerkungen
Implementierungen dürfen, sind aber nicht verpflichtet,
what()
zu überschreiben.
Geerbt von std:: exception
Elementfunktionen
|
[virtual]
|
zerstört das Exception-Objekt
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
|
[virtual]
|
gibt einen erklärenden String zurück
(virtuelle öffentliche Elementfunktion von
std::exception
)
|
Beispiel
#include <functional> #include <iostream> int main() { std::function<int()> f = nullptr; try { f(); } catch (const std::bad_function_call& e) { std::cout << e.what() << '\n'; } }
Mögliche Ausgabe:
bad function call
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 2233 | C++11 |
what()
gab immer dieselbe erklärende
Zeichenkette wie std::exception::what() zurück |
gibt ihre eigene
erklärende Zeichenkette zurück |
Siehe auch
|
(C++11)
|
kopierbarer Wrapper für jedes kopierkonstruierbare aufrufbare Objekt
(Klassentemplate) |