AI 코딩/오류 읽기 시리즈

AI 코딩할 때 꼭 알아야 할 오류 읽는 법 : ValueError

togchae 2026. 4. 27. 10:56

앞에서 살펴본 오류들은 코딩을 하는 과정 중에 생길 수 있는 오류들이었다면

이번에는 실 테스트중에 자주 나오는 오류입니다.

 

ValueError란?

어떤 함수나 연산이 받을 수 있는 타입의 값이 들어오긴 했지만,

그 값의 실제 내용이 올바르지 않을 때 발생하는 오류입니다.

 

예시 코드를 보겠습니다.

#indexError

age = input("나이를 입력하세요: ")
print(int(age))

코드 자체는 오류가 없이 작동할 것 같습니다.

실행해보면,

잘 실행되고 작동도 잘 됩니다.

근데 뭐가 문제인걸까요?

 

한번 다른 사람에게 테스트를 맡겨보겠습니다.

우리는 int를 가정하고 코드를 작성했는데, 사용자가 string을 넣어버렸습니다.

이처럼 사용자는 우리의 예상대로만 움직이지 않습니다.

 

어떻게 해결하면 좋을까요?

 

크게 2가지 방법이 있습니다.

1. 입력값을 확인하기

#indexError

age = input("나이를 입력하세요: ")

if age.isdigit():
    print(int(age))
else:
    print("숫자를 입력해주세요.")

age가 정상적으로 숫자라면 코드를 실행시키게끔 설정하는겁니다.

비밀번호 생성 코드같은 곳에 사용할 수 있습니다.

 

2. try 구문 사용하기

#indexError

try:
    age = int(input("나이를 입력하세요: "))
    print(age)
except ValueError:
    print("숫자를 입력해야 합니다.")

에러 처리시 많이 사용하는 방식이고, 1번 방식보다 안전하게 처리할 수 있습니다.

그리고 다양한 에러에 대해서도, 사용자에게 오류의 이유를 설명해줄 수 있습니다.

try의 활용은 다른 글로 자세히 알아보겠습니다.

 

ValueError는 어떻게 고려해야할까?

1. 함수가 어떤 형식의 값을 기대하는지

2. 사용자가 그 형식의 값에 일치하게 입력할지

3. 테스트를 다양하게 진행하기

 

사용자의 입력을 받는 경우에는 ValueError가 어떻게든 이루어질 수 있습니다.

그래서 항상 에러처리를 해주는 습관을 들이시는 것도 좋습니다.

 

그리고 TypeError와 비슷하다고 생각하실 수 있는데,

TypeError: 값의 종류 자체가 쓸 수가 없음.

ValueError: 값의 종류는 받을 수 있는거지만, 값의 내용이 잘못됨이라고 이해하시면 됩니다.

 

AI가 코드를 작성해주더라도, 사용자가 어떤 값을 넣을지까지 완벽하게 보장해주지는 않습니다.

그래서 항상 테스트를 다양하게 진행해보고, 예상하지 못한 값이 들어와도 안전하게 처리하는 습관이 중요합니다.

 

ValueError를 마지막으로 오류 읽는 법 시리즈의 오류 종류는 완결입니다.

오류 읽는 법 시리즈의 목적은 모든 에러를 보는게 아니라

AI 코딩 중 입문자들이 자주 만날 수 있는 오류를 정리해보자! 였기 때문입니다.

 

다음 게시글들은 우선 오류 읽는 법 시리즈 중 나왔던

복잡한 오류코드 읽기와 try 구문 활용하기로 돌아오도록 하겠습니다!