본문 바로가기
[ CODING STUDY ]/》파이썬 공부

파이썬 12장(try, except, finally, else, 예외처리)

by MRG 2020. 9. 28.
728x90
반응형

▣ 안녕하세요 ^^
저번장까지 과제 열심히 해보셨나요?
지금까지도 포기하지 않고 해오셨다면 벌써 큰 성장이 있을 거라 생각합니다.
코드를 짜시다가 왜 안되지?
왜 아직도 못하지라는 생각을 하실 수 있겠지만,
저는 그렇게 생각합니다. 
어떤 공부든 인내하고 버티는 것도 공부에 한 부분이고 실력이라고 생각합니다.
왜 안늘지라고 생각하지 마시고 천천히 하나하나 
포기하지 마시고 읽으면서 사고하고 코딩을 공부하시면 저는 된다고 생각합니다.
저도 그랬으니깐요.


▣ 그럼 오늘은 예외처리를 하는 try, except, finally에 대해 알아보겠습니다. 
예외처리가 먼가라는 의구심이 들 수도 있습니다.
이건 우리가 코딩을하면서 
모든 상황을 생각하고 코딩을 할 수는 없습니다.
완벽한 코딩은 없기 때문에 
오류 가능성과 버그 가능성을 항상 염두에 두어야 합니다. 
우리가 코드를 짜더라도 불안한 코드가 있기 마련입니다.
이걸 위해 사용하는 코드라고 생각하시면 되는데요 
바로 실습으로 어떻게 사용하지를 간단하게 알아보겠습니다. 

 

▣ 자 이렇게 조건문과 반복문을 사용하는 것처럼 
try: 를 입력해주시고 
바로 밑에 예외가 발생할꺼같은 코드를 입력해주세요.
저는 숫자를 입력받는 코드를 작성했고 그걸 바로 출력하게 했습니다.


▣ except는 위에 있는 예외가 코드가 문제가 발생하면 실행되는 코드를 입력합니다.
print 함수로 출력하게 했습니다.
그리고  컴파일을 진행하고 10을 입력하면 이렇게
제대로 코드가 작동하는걸 볼 수 있습니다. 
문제가 없기 때문이죠. 
그럼 한번 문제를 일으켜보겠습니다. 

 

▣ int()형으로 입력한걸 강제형 변환을 했기 때문에 
문자로 입력을 받으면 문제가 생깁니다. 
보통 이렇게 입력을 하면 런타임 오류가 나오지만 
try와 except를 사용했기 때문에 
except밑에 있는 코드가 실행되는 걸 확인할 수 있습니다.
이게 바로 예외처리 입니다. 


▣ 그런게 이걸 보았을 때 조건문이 생각나죠?
네 맞습니다. 그 구조랑 비슷합니다.
조건문으로 if, else if, else를 하는 경우랑 거의 비슷하다고 보시면 됩니다.
그리고 저렇게 try와 except를 사용하지 않고 조건문으로 
내가 생각되는 예외처리를 코드로 작성하셔도 됩니다. 
그럼 try와 except를 왜 사용하나요?라는 질문이 또 생길 수도 있습니다.
처음에 말씀드렸지만 우리가 모든 상황을 예측할수 없기 때문에
사용한다라고 생각해주세요.
이번에는 finally을 사용해보겠습니다.

 

▣ finally은 쉽게 이야기해서 무조건 실행되는 코드라고 생각하시면 됩니다. 
예외처리가 True거나 false 상관없이 말이죠
이렇게 예외처리가 되어도 finally에 있는 코드는 실행됩니다. 
그럼 또 다른 예시를 작성해보겠습니다.

 


▣ try안에 whlie True값으로 무한으로 입력을 받게 했습니다.
그리고 if num == 0 이면 break하게 했습니다.
그리고 프로그램을 실행하면 어떻게 될까요?
먼저 생각해보고 예측을 한 후에 결과를 확인해주세요.

 

▣ 10과 20을 잘 입력하면 계속 입력을 받고 잘되는 모습을 볼 수 있고,
0을 입력하면 break가 실행되고 while문에 반복이 종료되고 마지막 finally에 있는 
코드가 실행되는 걸 확인할 수 있습니다.
다시 말해 finally을 사용해서 코드에 종료를 나타내거나 break, return, 나중에 진행할 파일 닫기처럼
무조건 끝에 실행되어야 하는 코드가 있을 때 사용하면 좋다라고만 생각해주세요.
마지막으로 한 가지만 더 보겠습니다. 

 

 

▣이렇게 try: 예외처리 밑에 else를 사용할 수 있습니다.
우리가 if문에서 했던 조건문과 비슷합니다. 
else는 예외가 발생하지 않을 때 실행되는 코드라고 생각해주시면 편합니다.
다시 말해 except가 발생할 상황이 아니면 
else에 있는 코드를 실행한다고 생각하면 되겠네요.
한번 프로그램을 작성하고 해석한 다음에 실행결과를 확인해주세요.

 

▣ 이렇게 10을 정상적으로 입력하면 else에 있는 코드가 실행되는 걸 확인할 수 있고

 

▣ 문자를 입력하면 예외처리가 되는 except에 있는 코드가 실행되는걸 확인할 수 있습니다. 


▣ 자 오늘은 이렇게 try, except, finally 예외 처리하는 키워드를 공부했습니다. 
우리가 조건문을 이해했다면 크게 어려운 부분은 없다고 생각합니다.
하지만 언제 어떻게 사용할지는 여러분들이 계속 코드를 작성하시면서
고민해보시고 활용해보시면 좋을 거 같습니다.
꼭 위에 있는 코드는 직접 실습해보시고, 해석해보시고 
새롭게 만들어보세요.
그럼 다음장에서 뵙겠습니다.
질문 있으시면 댓글 남겨주세요.


▣ 포기하지 마세요!!! 저도 했습니다.!!! 파이팅!!!

728x90
반응형

댓글