Programming

; develop a program

Back-End

[Python] else 절, finally 절

Clloud_ 2022. 9. 30. 12:16
반응형

이번 포스팅에서는 파이썬에서 예외 처리(Exception Handling)의 else 절, finally 절에 대하여 공부를 해보고자 한다.

 


else 절

else 절은 try 블록에서 예외가 발생하지 않았을 경우에만 실행된다.

반드시 마지막 except 절 바로 다음에 위치해야 한다.

파이썬에서 else 절은 생략할 수 있다.

 

else 구문

try :
   예외 발생 가능성 있는 코드블록 작성
except :
   예외 처리 코드
else:
   try에서 예외가 발생하지 않았을 경우 실행할 코드블록

 

 


finally 절

finally 절은 try 블록이 실행되고 나면 예외 발생 여부, 처리 여부와 상관없이 무조건 실행된다.

finally 는 except 와 else 보다 먼저 올 수 없다.

else 절과 마찬가지로 생략할 수 있다.

 

finally 절 구문

try :
   예외 발생 가능성 있는 코드블록 작성
except :
   처리 코드 블록
else:
   예외가 발생하지 않을 경우 실행될 코드블록
finally:
   무조건 실행되는 코드블록

 

예제

순서 1. 예외 발생 가능성 있는 코드 블록을 작성한다.

순서 2. 예외가 발생했을 경우 실행될 코드들을 각각 except 블록 내에 작성한다.

순서 3. 예외가 발생하지 않았을 경우 실행될 코드를 else 블록 내에 작성한다.

순서 4. 무조건 실행될 코드를 finally 블록 내에 작성한다.

print('시작')
try:
    b = int(input()) # ValueError
    c = 10 / b       # ZeroDivisionError
    
    print("나눈 결과:", c)
except ValueError as va:
    print('Error: 숫자를 입력하세요', va)
except ZeroDivisionError as ze:
    print('Error: 0으로 나눌 수 없습니다.', ze)
else:
    print('오류가 발생하지 않았습니다.')
finally:
    print('무조건 실행되는 코드 --- finally')
print('종료')

[실행결과]

# 값을 입력하지 않은 경우
시작

Error: 숫자를 입력하세요 invalid literal for int() with base 10: ''
무조건 실행되는 코드 --- finally
종료

# 0을 입력한 경우
시작
0
Error: 0으로 나눌 수 없습니다. division by zero
무조건 실행되는 코드 --- finally
종료

# 2를 입력한 경우
시작
1
나눈 결과: 10.0
오류가 발생하지 않았습니다.
무조건 실행되는 코드 --- finally
종료

 


반응형