Bunny Code

[Python] - 21) 예외 처리(try except else finally) 본문

Python Basic

[Python] - 21) 예외 처리(try except else finally)

버즈밴드 2020. 8. 26. 16:31

바로 저번 포스팅에서 try except 구문을 활용해 예외 처리하는 방법을

배웠는데요.

이번에는 try except 구문에다 else 를 추가해보도록 하겠습니다.

try :

    <예외가 발생할 가능성이 있는 코드>

except :

    <예외가 발생했을 때 실행할 코드>

else :

    <예외가 발생하지 않았을 때 실행할 코드>

저번에 사용한 코드를 그대로 사용해볼게요.

try, except 구문만 있을 때는 예외가 발생하지 않았을 때 실행할 코드도 try 영역에 넣었었죠??

이번에는 예외 발생 가능성이 있는 코드만 try 영역에 넣고 else 구문으로 나머지를 빼보겠습니다. 

try :
    input_1,input_2 = int(input("가속도 입력 >")),int(input("시간 입력 >"))
except :
    print("정수로만 입력 가능해요.")
else :
    print("등가속도 운동할 때")
    print("가속도 :", input_1)
    print("속도 :", input_1 * input_2)
    print("거리 :", input_1 * input_2 ** 2 / 2)

코드 입력 화면
코드 실행 화면

try, except, else 구문으로 실행이 잘 된 것을 확인할 수 있습니다.

 

 

이번에는 finally 를 추가해 사용해보도록 하겠습니다. 

finally 구문은 예외 처리 구문에서 가장 마지막에 사용할 수 있는 구문입니다.

try :

    <예외가 발생할 가능성이 있는 코드>

except :

    <예외가 발생했을 때 실행할 코드>

else :

    <예외가 발생하지 않았을 때 실행할 코드>

finally :

    <무조건적으로 실행할 코드>

즉, finally 구문은 예외가 발생하든 안하든 실행해야 할 코드를 실행해줍니다. 

여태껏 들었던 예시 상황에서 정수로 입력하든 입력하지 않든 프로그램이 실행되었다는 것을 보여주기 위해 사용해보겠습니다. 

예시 :

코드 입력 화면
정수 입력 화면
정수를 입력하지 않았을 때의 화면

이렇게 정수를 입력할 때는try, else 구문과 finally 구문안의 코드가 실행되고 

정수를 입력하지 않았을 경우에는 except 구문과 finally 구문안의 코드가 실행되는 것을 확인할 수 있습니다. 

 

저번 포스팅 부터 조건문, try except 구문 등등 예외 처리를 하는 방법들을 배워 봤는데, 

여러 조합으로 가능한 예외 처리 구문들이 정말 많습니다. 

이 중 모든 것을 활용해야 할 필요는 당연히 없지만, 다른 사람들이 작성해둔 코드를 이해할 수 있어야 하므로

꼭 사용안하더라도 코드가 수행하는 역할 정도는 기억해두면 좋을 것 같아요! 

 

 

'Hello Coding 파이썬'을 참고하여 작성하였음.

 

 

Comments