1.예외처리(try, except) 간단 요약
try except는 말 그대로 일단 '시도'는 해보고 오류 발생시 '예외'처리 하는 것이다.
예를 들어 오류 발생시 프로그램이 무작정 종료되는 것이 아니라, 어떻게 처리할 것인지 정하는 것이다.
따라서 보통 오류 발생 가능성이 있는 곳에 쓰인다.
try:
일단 시도는 할 코드
except:
try에서 오류 발생시 실행할 코드
당연히 try에서 오류가 발생하지 않았다면 except는 그냥 건너뛴다.
2.예외처리(try, except) 코드 예제
아래는 물건의 갯수와 가격을 입력받고 총가격을 알려주는 코드이다.
S_number=input("Enter number: ") #String_number
S_price=input("Enter price: ") #String_price
try:
F_number=float(S_number) #Float_number
F_price=float(S_price) #Float_price
print("total price:", F_number*F_price)
except:
print("Error, please enter numeric input")
정상 출력
오류가 발생하지 않고 제대로 출력되었다.
오류 발생
입력한 ten을 float형으로 변환하지 못해서 오류가 발생해 except로 예외처리됐다.
3.예외처리(try, except)로 올바른 입력 받기
위처럼 코드를 짜면 예외처리 발생시 사용자 입장에서는 프로그램이 터지는 거나 별반 다를 게 없기 때문에, 사용자가 다시 입력할 수 있도록 해줘야한다.
즉, 숫자를 제대로 입력할 때까지 반복해서 요구해야한다.
while True:
try:
S_number=input("Enter number: ") #String_number
S_price=input("Enter price: ") #String_price
F_number=float(S_number) #Float_number
F_price=float(S_price) #Float_price
print("total price:", F_number*F_price)
break
except:
print("Error, please enter numeric input")
이렇게 반복문을 때려 박으면 사용자가 입력값으로 숫자만 넣어야 하는 경우 문자를 넣었을 때,
오류 메세지를 출력할 뿐만 아니라 올바른 입력값을 다시 넣을 때까지 계속해서 반복한다.