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_timestd::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';
    }
}

더 알아보기 (Learn more)

cppreference