사용자 정의 예외 처리기 생성

C++Beginner
지금 연습하기

소개

이번 챌린지에서는 과학 연구용 온도 센서를 위한 견고한 예외 처리 시스템을 개발합니다. 목표는 std::runtime_error를 상속받는 사용자 정의 TemperatureException 클래스를 만들고, 유효하지 않은 온도 측정값이 입력되었을 때 이 예외를 발생시키는 온도 검증 함수를 구현하는 것입니다.

이 콘텐츠는 챌린지 과제입니다. 가이드가 제공되는 실습과 달리, 학습 단계에 따라가는 것이 아니라 스스로 독립적으로 과제를 해결해야 합니다. 챌린지는 다소 난이도가 있을 수 있습니다. 해결이 어렵다면 Labby 와 상의하거나 모범 답안을 확인해 보세요. 통계 데이터에 따르면 이 과제는 초급 수준이며, 통과율은 94%입니다. 학습자들로부터 100%의 긍정적인 평가를 받았습니다.

온도 예외 처리기 구현

과학 연구 분야에서 정확한 온도 모니터링은 매우 중요합니다. 여러분의 임무는 잘못된 측정값을 감지하고 보고할 수 있는 온도 센서용 예외 처리 시스템을 구축하는 것입니다.

과제

제공된 템플릿 코드에서 다음 작업 (TODO) 을 완료하세요.

  1. TemperatureException 생성자 구현:

    • 오류 메시지를 사용하여 기본 클래스 초기화
    • 유효하지 않은 온도 값 설정
  2. validateTemperature 함수 구현:

    • 온도가 [-50°C, 100°C] 범위 내에 있는지 확인
    • 범위를 벗어난 값에 대해 TemperatureException 발생

요구 사항

  • 허용 온도 범위: -50°C ~ 100°C
  • 오류 메시지: "Temperature Error: Invalid temperature reading"
  • 제공된 클래스 구조를 반드시 사용
  • main() 함수는 수정 금지

실행 예시

코드를 컴파일하고 실행하여 온도 검증 기능을 테스트하세요. 프로그램은 잘못된 온도 측정값에 대해 TemperatureException을 발생시켜야 합니다.

g++ temperature_exception.cpp -o temperature_exception
./temperature_exception

유효한 온도의 경우:

Testing valid temperature:
Temperature 25.0°C is valid.

유효하지 않은 온도의 경우:

Temperature Error: Invalid temperature reading
Invalid Temperature: 150°C

힌트

  • std::runtime_error의 생성자를 사용하여 오류 메시지를 설정하세요.
  • 유효하지 않은 온도 값을 예외 클래스의 프라이빗 멤버로 저장하세요.
  • 잘못된 온도 값을 가져올 수 있는 게터 (getter) 메서드를 만드세요.
✨ 솔루션 확인 및 연습

요약

요약하자면, 이번 챌린지에서는 std::runtime_error를 상속받는 사용자 정의 TemperatureException 클래스를 생성하고, 잘못된 온도 측정값에 대해 이 예외를 발생시키는 검증 함수를 구현했습니다. 이를 통해 과학 연구 현장에서 사용할 수 있는 온도 센서용 견고한 예외 처리 시스템을 구축하는 방법을 익혔습니다.