std::tx_exception
Определён в заголовочном файле <stdexcept> | ||
|---|---|---|
template< class T > class tx_exception : public std::runtime_error; | (TM TS) |
Определяет тип исключения, который можно использовать для отмены и отката атомарной транзакции, инициированной ключевым словом atomic_cancel.
Если T не является TriviallyCopyable, программа, специализирующая std::tx_exception<T>, некорректна.
Функции-члены
std::tx_exception::tx_exception
explicit tx_exception( T value ) transaction_safe; | (1) | (TM TS) |
tx_exception( T value, const std::string& what_arg ) transaction_safe; | (2) | (TM TS) |
tx_exception( T value, const char* what_arg ) transaction_safe; | (3) | (TM TS) |
tx_exception( const tx_exception& other ) transaction_safe noexcept; | (4) | (TM TS) |
what_arg в качестве поясняющей строки, доступной через what(), и value в качестве объекта, доступного через get().*this и other имеют динамический тип std::tx_exception<T>, то std::strcmp(what(), other.what()) == 0.Параметры
| value | - | объект полезной нагрузки |
| what_arg | - | поясняющая строка |
| other | - | другой объект исключения для копирования |
Исключения
std::tx_exception::operator=
tx_exception& operator=( const tx_exception& other ) transaction_safe noexcept; | (TM TS) |
Присваивает содержимое из other. Если *this и other имеют динамический тип std::tx_exception<T>, то после присваивания std::strcmp(what(), other.what()) == 0.
Параметры
| other | - | другой объект исключения, из которого выполняется присваивание |
Возвращаемое значение
*this
std::tx_exception::get
T get() const transaction_safe; | (TM TS) |
Возвращает объект полезной нагрузки, хранящийся в объекте исключения.
Исключения
Может выбрасывать исключения, определяемые реализацией.
std::tx_exception::what
virtual const char* what() const transaction_safe_dynamic noexcept; | (TM TS) |
Возвращает поясняющую строку.
Параметры
(нет)
Возвращаемое значение
Указатель на строку с завершающим нулевым символом, содержащую поясняющую информацию.
Унаследовано от std::runtime_error
Унаследовано от std::exception
Функции-члены
|
[виртуальная] | уничтожает объект исключения (виртуальная открытая функция-член std::exception) |
|
[виртуальная] | возвращает поясняющую строку (виртуальная открытая функция-член std::exception) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/error/tx_exception