std::chrono:: nonexistent_local_time
|
Definido en el encabezado
<chrono>
|
||
|
class
nonexistent_local_time
;
|
(desde C++20) | |
Define un tipo de objeto que se lanzará como excepción para informar que se intentó convertir un
std::chrono::local_time
inexistente a un
std::chrono::sys_time
sin especificar un
std::chrono::choose
(como
choose::earliest
o
choose::latest
).
Esta excepción es lanzada por std::chrono::time_zone::to_sys y funciones que la llaman (como los constructores de std::chrono::zoned_time que toman un std::chrono::local_time ).
Diagrama de herencia
Contenidos |
Funciones miembro
|
(constructor)
|
construye el objeto de excepción
(función miembro pública) |
|
operator=
|
reemplaza el objeto de excepción
(función miembro pública) |
|
what
|
devuelve la cadena explicativa
(función miembro pública) |
std::chrono::nonexistent_local_time:: nonexistent_local_time
|
template
<
class
Duration
>
nonexistent_local_time
(
const
std::
chrono
::
local_time
<
Duration
>
&
tp,
|
(1) | (desde C++20) |
|
nonexistent_local_time
(
const
nonexistent_local_time
&
other
)
noexcept
;
|
(2) | (desde C++20) |
Construye el objeto de excepción.
what()
es equivalente a la producida por
os.str()
después del siguiente código:
std::ostringstream os; os << tp << " is in a gap between\n" << std::chrono::local_seconds(i.first.end.time_since_epoch()) + i.first.offset << ' ' << i.first.abbrev << " and\n" << std::chrono::local_seconds(i.second.begin.time_since_epoch()) + i.second.offset << ' ' << i.second.abbrev << " which are both equivalent to\n" << i.first.end << " UTC";
std::chrono::nonexistent_local_time
entonces
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
.
Parámetros
| tp | - | el punto temporal para el cual se intentó la conversión |
| i | - | un std::chrono::local_info que describe el resultado del intento de conversión |
| other | - |
otro
nonexistent_local_time
a copiar
|
Excepciones
Puede lanzar std::bad_alloc
Notas
Debido a que copiar una clase de la biblioteca estándar derivada de
std::exception
no está permitido que lance excepciones, este mensaje normalmente se almacena internamente como una cadena separada con conteo de referencias.
std::chrono::nonexistent_locale_time:: operator=
|
nonexistent_locale_time
&
operator
=
(
const
nonexistent_locale_time
&
other
)
noexcept
;
|
(desde C++20) | |
Asigna los contenidos con los de
other
. Si
*
this
y
other
ambos tienen tipo dinámico
std::chrono::nonexistent_locale_time
entonces
std::
strcmp
(
what
(
)
, other.
what
(
)
)
==
0
después de la asignación.
Parámetros
| other | - | otro objeto de excepción con el cual asignar |
Valor de retorno
* this
std::chrono::nonexistent_locale_time:: what
|
virtual
const
char
*
what
(
)
const
noexcept
;
|
(desde C++20) | |
Devuelve la cadena explicativa.
Valor de retorno
Puntero a una cadena terminada en nulo definida por la implementación con información explicativa. La cadena es adecuada para conversión y visualización como std::wstring . Se garantiza que el puntero será válido al menos hasta que se destruya el objeto de excepción del cual se obtuvo, o hasta que se llame a una función miembro no constante (por ejemplo, el operador de asignación de copia) en el objeto de excepción.
Notas
Las implementaciones pueden, pero no están obligadas, a sobrescribir
what()
.
Heredado de std:: runtime_error
Heredado de std:: exception
Funciones miembro
|
[virtual]
|
destruye el objeto de excepción
(función miembro pública virtual de
std::exception
)
|
|
[virtual]
|
devuelve una cadena explicativa
(función miembro pública virtual de
std::exception
)
|
Véase también
|
(C++20)
|
excepción lanzada para reportar que una hora local es ambigua
(clase) |