Espacios de nombres
Variantes

std::bad_expected_access

De cppreference.com
 
 
Biblioteca de servicios
 
 
Definido en el archivo de encabezado <expected>
template< class E > class bad_expected_access : public std::bad_expected_access<void>
(1) (desde C++23)
template<> class bad_expected_access<void> : public std::exception
(2) (desde C++23)
1) Define un tipo de objeto que std::expected::value lanzará cuando acceda a un objeto esperado que contiene un valor no esperado. bad_expected_access<E> almacena una copia del valor no esperado.
2) bad_expected_access<void> es la clase base de todas las demás especializaciones de bad_expected_access.

Miembros de la plantilla primaria

Construye un objeto bad_expected_access.
(función miembro pública)
error
Devuelve el valor almacenado.
(función miembro pública)
what
Devuelve la cadena aclaratoria.
(función miembro pública)

std::bad_expected_access::bad_expected_access

explicit bad_expected_access( E e );

Construye un nuevo objeto bad_expected_access<E>. Inicializa el valor almacenado con std::move(e).

std::bad_expected_access::error

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

Devuelve una referencia al valor almacenado.

std::bad_expected_access::what

const char* what() const noexcept override;

Devuelve la cadena aclaratoria.

Parámetros

(Ninguno)

Valor de retorno

Puntero a una cadena terminada en nulo con información aclaratoria. La cadena es adecuada para la conversión y visualización como std::wstring. Se garantiza que el puntero sea válido al menos hasta que se destruya el objeto de excepción del que se obtiene, o hasta que se llame a una función miembro no constante (por ejemplo, operador de asignación de copia) en el objeto de excepción.

Notas

Se permiten implementaciones, pero no se requiere que anulen (override) what().

Miembros de la especialización bad_expected_access<void>

(constructor)
Construye un objeto bad_expected_access<void>.
(función miembro protegida)
(destructor)
Destruye el objeto bad_expected_access<void>.
(función miembro protegida)
operator=
Reemplaza el objeto bad_expected_access<void>.
(función miembro protegida)
what
Devuelve la cadena aclaratoria.
(función miembro pública)

Las funciones miembro especiales de bad_expected_access<void> están protegidas. Solo pueden ser invocadas por clases derivadas.

Ejemplo