728x90
반응형

C++ std::invalid_argument : 인자 예외 처리

  • 프로그램을 작성할 때 함수나 메서드에 잘못된 인자가 전달되는 상황은 흔히 발생할 수 있습니다.
  • 이러한 잘못된 입력을 사전에 감지하고 처리하지 않으면 예측할 수 없는 동작이나 프로그램 오류로 이어질 수 있기 때문에, 안전한 코드를 작성하기 위해서는 이를 적절히 처리하는 방법이 필요합니다.

  • C++ 표준 라이브러리에서는 이러한 상황을 대비해 여러 예외 클래스를 제공하며, 그중 std::invalid_argument는 잘못된 인자가 함수에 전달되었을 때 사용하는 대표적인 예외 클래스입니다.
  • std::invalid_argumentstd::logic_error를 상속하며, 주로 인자 검증 중 유효하지 않은 값을 발견했을 때 throw하여 문제를 명확히 알려주는 역할을 합니다.

  • 사용하기 위해서는 <stdexcept> 헤더를 포함해야 하며, 생성자는 전달된 문자열을 통해 예외 메시지를 저장합니다.
  • 예를 들어, 다음과 같이 잘못된 나이를 전달했을 때 예외를 발생시킬 수 있습니다.

  • cpp

      #include <iostream>
      #include <stdexcept>
      
      void setAge(int age) {
          if (age < 0 || age > 150) {
              throw std::invalid_argument("유효하지 않은 나이 값입니다.");
          }
          std::cout << "나이: " << age << "세" << std::endl;
      }
      
      int main() {
          try {
              setAge(-5);
          } catch (const std::invalid_argument& e) {
              std::cerr << "예외 발생: " << e.what() << std::endl;
          }
          return 0;
      }
    

  • 이처럼 std::invalid_argument를 사용하면 잘못된 입력을 감지하고 예외 상황을 알릴 수 있어 프로그램의 안정성과 유지보수성을 높일 수 있습니다.
  • 올바른 인자 검증과 예외 처리 습관은 더 견고한 프로그램을 만드는 중요한 요소입니다.



  • 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄

728x90
반응형

+ Recent posts