Namensräume
Varianten
Aktionen

std::chrono::nonexistent_local_time

Von cppreference.com
< cpp‎ | chrono
 
 
Datums- und Zeitbibliothek
Zeitpunkt
(C++11)
(C++20)
Dauer
(C++11)
Uhren
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
Tageszeit
(C++20)(C++20)
(C++20)(C++20)
(C++20)
Kalender
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)
chrono E/A
(C++20)

Zeitzone
(C++20)
(C++20)
(C++20)
(C++20)
nonexistent_local_time
(C++20)
(C++20)
(C++20)
(C++20)
C-Stil Datums- und Zeitfunktionen
 
Definiert in Header <chrono>
class nonexistent_local_time;
(seit C++20)

Definiert einen Objekttyp, der als Ausnahme geworfen wird, um zu melden, dass ein Versuch unternommen wurde, eine nicht existierende std::chrono::local_time in eine std::chrono::sys_time zu konvertieren, ohne eine std::chrono::choose (wie z.B. choose::earliest oder choose::latest) anzugeben.

Diese Ausnahme wird von std::chrono::time_zone::to_sys und Funktionen, die diese aufrufen (wie z.B. die Konstruktoren von std::chrono::zoned_time, die eine std::chrono::local_time entgegennehmen), geworfen.

cpp/error/exceptioncpp/error/runtime errorstd-chrono-nonexistent local time-inheritance.svg

Vererbungdiagramm

Inhalt

[bearbeiten] Memberfunktionen

(Konstruktor)
konstruiert das Ausnahmeobjekt
(öffentliche Memberfunktion)
operator=
ersetzt das Ausnahmeobjekt
(öffentliche Memberfunktion)
what
gibt den erklärenden String zurück
(öffentliche Memberfunktion)

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) (seit C++20)
nonexistent_local_time( const nonexistent_local_time& other ) noexcept;
(2) (seit C++20)

Konstruiert das Ausnahmeobjekt.

1) Der von what() zurückgegebene erklärende String ist äquivalent zu dem, der von os.str() nach dem folgenden Code erzeugt wird.
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";
Das Verhalten ist undefiniert, wenn i.result != std::chrono::local_info::nonexistent.
2) Kopierkonstruktor. Wenn *this und other beide den dynamischen Typ std::chrono::nonexistent_local_time haben, dann ist std::strcmp(what(), other.what()) == 0.

Parameter

tp - der Zeitpunkt, für den die Konvertierung versucht wurde
i - ein std::chrono::local_info, das das Ergebnis des Konvertierungsversuchs beschreibt
Sonstiges - ein anderes nonexistent_local_time zum Kopieren

Ausnahmen

Kann std::bad_alloc werfen

Anmerkungen

Da das Kopieren einer von std::exception abgeleiteten Standardbibliotheksklasse keine Ausnahmen werfen darf, wird diese Nachricht typischerweise intern als separat zugeordneter referenzgezaehlter String gespeichert.

std::chrono::nonexistent_local_time::operator=

nonexistent_local_time& operator=( const nonexistent_local_time& other ) noexcept;
(seit C++20)

Weist den Inhalt von other zu. Wenn *this und other beide den dynamischen Typ std::chrono::nonexistent_local_time haben, dann ist std::strcmp(what(), other.what()) == 0 nach der Zuweisung.

Parameter

Sonstiges - ein anderes Ausnahmeobjekt zum Zuweisen

Rückgabewert

*this

std::chrono::nonexistent_local_time::what

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

Gibt den erklärenden String zurück.

Rückgabewert

Zeiger auf einen implementierungsdefinierten, nullterminierten String mit erläuternden Informationen. Der String kann für die Konvertierung und Anzeige als std::wstring verwendet werden. Der Zeiger ist garantiert gültig, mindestens bis das Ausnahmeobjekt, von dem er stammt, zerstört wird, oder bis eine nicht-const Memberfunktion (z. B. der Kopierzuweisungsoperator) für das Ausnahmeobjekt aufgerufen wird.

Der zurückgegebene String ist während der konstanten Auswertung mit der gewöhnlichen Literal-Codierung kodiert.

(seit C++26)

Anmerkungen

Implementierungen dürfen what() überschreiben, sind aber nicht dazu verpflichtet.

Geerbt von std::runtime_error


Abgeleitet von std::exception

Memberfunktionen

[virtuell]
zerstört das Ausnahmeobjekt
(virtuelle öffentliche Memberfunktion von std::exception) [bearbeiten]
[virtuell]
gibt einen erklärenden String zurück
(virtuelle öffentliche Memberfunktion von std::exception) [bearbeiten]

[bearbeiten] Siehe auch

Ausnahme, die geworfen wird, um zu melden, dass eine Lokalzeit mehrdeutig ist
(Klasse) [bearbeiten]