IT/프로그래밍

[파이썬] 파이썬 예외처리 [패스트 캠퍼스 챌린지 16일]

뜻밖의 행복 2022. 2. 8. 21:53
반응형

안녕하세요?

 

파이썬 강좌 16일차 하루도 빠짐 없이 잘 듣고 있습니다.

드디어 예외처리 까지 왔습니다. 

주요 굵직 굵직한 기본들은 다 들었네요 

 

이제 내일 부터는 무언가를 직접 만들던데 기대가 됩니다. 

만들어야 실력이 늘어나니까 ㅎㅎ

 

 

에러와 예외처리 

사실 프로그램을 개발할때 자기 자신만 사용하는 프로그램이라면

에러와 예외처리 필요가 크게 필요하지는 않습니다. 

 

하지만 다른 사람이 사용하게 만드는 프로그램이라면 이야기가 다르죠 

사용자가 반드시 개발자 의도대로 프로그램을 사용하지 않기 때문에

이상한 결과를 언제든지 만날 수 있고 제대로 동작 하지 않게 될 수 있기 때문에

예외처리를 통해서 사용자가에게 알림을 주거나 해당 문제를 해결 할 수 있게 하는 것이 중요합니다.

 

실제로도 잘 만들어진 프로그램들을 보면 정확한 error code를 뿌리면서

사용자가 google 통해 검색하고 해결 할 수 있게 해주죠 

 

예외처리는 try - except 구문을 이용하고

이 두  가지만 알면 사실상 왠만한 상황의 예외는 다 처리 가능하다고 볼 수 있겠네요

try:
    #예외가 발생 할 수 있는 코드
except:
    #예외 발생 시 실행할 코드
else:
    #예외가 발생하지 않을 경우 실행할 코드
finally:
    #항상 실행할 코드

실제로 예제를 통해 알아보도록 하겠습니다.

 

#원화와 환율을 입력하면 원화를 달러로 바꿔주는 프로그램

money = input("헬로우 코리안! 너가 가진 한국돈을 입력하라")
dollar = input("원달라 환율을 알려주면 코리안 너에게 놀라운 비밀을 알려주마!")

print(int(money) / int(dollar))

위와 같은 환율 프로그램이 있다고 했을 때

귀여운 사람이 원화, 달러를 입력해야 하는 곳에 위처럼 뀨뀨잉잉, 뀨우 하면서 문자를 입력하게 되면

당연히 정상 동작이 될리가 없습니다.

3번 같은 에러를 뿌리지요

 

그렇다면 저렇게 문자를 입력하는 사람에게 우리는 똑바로 입력하라고 Error 메시지 발생 및 예외 처리를 할 수 있습니다. 우선 ValueError 라고 뜨네요 그렇다면 숫자 대신 문자 입력시 발생 하는 error 해당 에러니까

 

#원화와 환율을 입력하면 원화를 달러로 바꿔주는 프로그램

money = input("헬로우 코리안! 너가 가진 한국돈을 입력하라")
dollar = input("원달라 환율을 알려주면 코리안 너에게 놀라운 비밀을 알려주마!")

try: #예외가 발생 할 수 있는 코드
    print(int(money) / int(dollar))
except ValueError as err1: #에러 발생시 동작
    print("숫자하나 똑바로 입력 못하나?", err1, "이 에러 발생")
else:
    print("잘 입력하셨습니다. 이용해주셔서 감사합니다.")

위 처럼 코드를 짜주면 됩니다.

 

try - except 으로 에러가 발생 할 수 있는 코드를 감싸고 

전에 경험했던 ValueError를 지정하면

 

네 숫자를 똑바로 입력하라고 아주 친절하게 메시지가 발생하는 것을 알 수 있습니다.

굳 

 

예제도 점점 길어지고 그럴싸 해지는것이 점점 개발자에게 가까워 지는 것 같습니다. 

힘내자!

 

여러분도 항상 좋은 하루 되시기를 바라겠습니다.

 

 

반응형