std::bad_function_call
Определено в заголовке <functional> | ||
|---|---|---|
class bad_function_call; | (с C++11) |
Тип исключения, выбрасываемого std::function::operator(), если обёртка функции не имеет целевого объекта.
Диаграмма наследования
Члены-функции
| (конструктор) | создаёт новый объект bad_function_call (публичная функция-член) |
| operator= | заменяет объект bad_function_call (публичная функция-член) |
| what | возвращает строку с пояснением (публичная функция-член) |
std::bad_function_call::bad_function_call
bad_function_call() noexcept; | (1) | (с C++11) |
bad_function_call( const bad_function_call& other ) noexcept; | (2) | (с C++11) |
Создаёт новый объект bad_function_call с реализуемой нуль-терминированной строкой байтов, доступной через what().
*this и other оба имеют динамический тип std::bad_function_call, то std::strcmp(what(), other.what()) == 0. Параметры
| other | - | другой объект исключения для копирования |
std::bad_function_call::operator=
bad_function_call& operator=( const bad_function_call& other ) noexcept; | (с C++11) |
Присваивает содержимое other. Если *this и other оба имеют динамический тип std::bad_function_call, то std::strcmp(what(), other.what()) == 0 после присваивания.
Параметры
| other | - | другой объект исключения для присваивания |
Возвращаемое значение
*this
std::bad_function_call::what
virtual const char* what() const noexcept; | (с C++11) |
Возвращает строку с пояснением.
Параметры
(нет)
Возвращаемое значение
Указатель на нуль-терминированную строку с дополнительной информацией. Строка подходит для преобразования и отображения в виде std::wstring. Указатель гарантированно действителен по крайней мере до тех пор, пока объект исключения, из которого он получен, не будет уничтожен, или пока не будет вызвана функция-член (например, оператор присваивания копирования) объекта исключения.
Примечания
Реализации разрешается, но не требуется переопределять what().
Наследуется от std::exception
Члены-функции
|
[виртуальный] | уничтожает объект исключения (виртуальная публичная функция-член std::exception) |
|
[виртуальный] | возвращает строку с пояснением (виртуальная публичная функция-член std::exception) |
Пример
#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';
}
}Возможный вывод:
bad function call
См. также
|
(C++11) | оборачивает вызываемый объект любого копируемого типа с указанной сигнатурой вызова функции (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/bad_function_call