chrono_ambiguous_local_time
chrono_ambiguous_local_time (모호한 로컬 시간 예외)
std::chrono::ambiguous_local_time은 모호한 로컬 시간을 choose 지정 없이 sys_time으로 변환하려 할 때 던져지는 예외 타입이에요.
출처: cppreference
본문
std::chrono::ambiguous_local_time는 <chrono> 헤더에 정의된 예외 타입이에요. C++20부터 사용 가능해요.
template< class Duration >
ambiguous_local_time( const std::chrono::local_time<Duration>& tp,
const std::chrono::local_info& i );
std::chrono::choose(예: choose::earliest 또는 choose::latest)를 지정하지 않고 모호한 std::chrono::local_time을 std::chrono::sys_time으로 변환하려 했을 때 이를 보고하기 위해 던져지는 예외 객체를 정의해요.
이 예외는 std::chrono::time_zone::to_sys와 그를 호출하는 함수들(예: std::chrono::local_time을 받는 std::chrono::zoned_time 생성자)에서 던져져요.
상속
std::runtime_error에서 파생돼요.
예제 (Example)
DST 전환으로 모호한 로컬 시간을 변환할 때 예외를 잡는 예시예요.
#include <chrono>
#include <iostream>
int main()
{
using namespace std::chrono;
try
{
// ... 모호한 local_time을 to_sys로 변환
}
catch (const std::chrono::ambiguous_local_time& e)
{
std::cout << e.what() << '\n';
}
}