Namespaces
Variants

std::chrono:: nonexistent_local_time

From cppreference.net
Défini dans l'en-tête <chrono>
class nonexistent_local_time ;
(depuis C++20)

Définit un type d'objet à lever comme exception pour signaler qu'une tentative a été faite pour convertir un std::chrono::local_time inexistant en un std::chrono::sys_time sans spécifier un std::chrono::choose (tel que choose::earliest ou choose::latest ).

Cette exception est levée par std::chrono::time_zone::to_sys et les fonctions qui l'appellent (telles que les constructeurs de std::chrono::zoned_time qui prennent un std::chrono::local_time ).

cpp/error/exception cpp/error/runtime error std-chrono-nonexistent local time-inheritance.svg

Diagramme d'héritage

Table des matières

Fonctions membres

(constructor)
construit l'objet d'exception
(fonction membre publique)
operator=
remplace l'objet d'exception
(fonction membre publique)
what
retourne la chaîne explicative
(fonction membre publique)

std::chrono::nonexistent_local_time:: nonexistent_local_time

template < class Duration >

nonexistent_local_time ( const std:: chrono :: local_time < Duration > & tp,

const std:: chrono :: local_info & i ) ;
(1) (depuis C++20)
nonexistent_local_time ( const nonexistent_local_time & other ) noexcept ;
(2) (depuis C++20)

Construit l'objet d'exception.

1) La chaîne explicative retournée par what() est équivalente à celle produite par os.str() après le code suivant :
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";
Le comportement est indéfini si i. result ! = std :: chrono :: local_info :: nonexistent .
2) Constructeur de copie. Si * this et other ont tous deux le type dynamique std::chrono::nonexistent_local_time alors std:: strcmp ( what ( ) , other. what ( ) ) == 0 .

Paramètres

tp - le point temporel pour lequel la conversion a été tentée
i - un std::chrono::local_info décrivant le résultat de la tentative de conversion
other - un autre nonexistent_local_time à copier

Exceptions

Peut lever std::bad_alloc

Notes

Étant donné que la copie d'une classe de la bibliothèque standard dérivée de std::exception n'est pas autorisée à lever des exceptions, ce message est généralement stocké en interne sous forme de chaîne à comptage de références allouée séparément.

std::chrono::nonexistent_locale_time:: operator=

nonexistent_locale_time & operator = ( const nonexistent_locale_time & other ) noexcept ;
(depuis C++20)

Assigne le contenu avec celui de other . Si * this et other ont tous deux le type dynamique std::chrono::nonexistent_locale_time alors std:: strcmp ( what ( ) , other. what ( ) ) == 0 après l'assignation.

Paramètres

other - autre objet d'exception à assigner

Valeur de retour

* this

std::chrono::nonexistent_locale_time:: what

virtual const char * what ( ) const noexcept ;
(depuis C++20)

Retourne la chaîne explicative.

Valeur de retour

Pointeur vers une chaîne terminée par un caractère nul, définie par l'implémentation, contenant des informations explicatives. La chaîne est adaptée à la conversion et à l'affichage en tant que std::wstring . Le pointeur est garanti d'être valide au moins jusqu'à la destruction de l'objet exception duquel il est obtenu, ou jusqu'à l'appel d'une fonction membre non constante (par exemple, l'opérateur d'affectation par copie) sur l'objet exception.

Notes

Les implémentations sont autorisées mais non obligées de redéfinir what() .

Hérité de std:: exception

Fonctions membres

[virtuel]
détruit l'objet exception
(fonction membre publique virtuelle de std::exception )
[virtuel]
retourne une chaîne explicative
(fonction membre publique virtuelle de std::exception )

Voir aussi

exception levée pour signaler qu'une heure locale est ambiguë
(classe)