[python] for ~ else / try ~ except ~ finally 정리

김페페·2022년 9월 27일
0

for ~ else

1. 실행 순서

# 중간에서 break
for i in range(5):
    if i == 2:
        print(“중간에서 빠져나옴”)
        break
else:
    print(“끝까지 실행”)

>>> "중간에서 빠져나옴"

# 끝까지 실행
for i in range(5):
    if i == 4560:
        print(“중간에서 빠져나옴”)
        break
else:
    print(“끝까지 실행”)

>>> "끝까지 실행"

for문이 break, continue 등을 만나 중간에서 빠져나오지 않고,
끝까지 실행됐을 경우 else문 실행


try ~ except ~ (else) ~ (finally)

1. 실행 순서

try:
    print(5 / 0)
except:
    print(“에러 O”)
else:
    print(“정상 실행 - 에러 X”)
finally:
    print(“에러 여부와 상관 없이 항상 실행”)

>>> 에러 O
>>> 에러 여부와 상관 없이 항상 실행
  • 정상 실행: try ~ else ~ finally
  • 에러 발생: try ~ except ~ finally

2. 에러 처리 방식

try:
    print(5 / 0)
except ZeroDivisionError as e:
    print(e)

>>> ZeroDivisionError 
  • except문에 에러 명을 명시하면, 특정 에러 발생 시에만 실행 <- 좋은 방법
  • 명시하지 않으면, 모든 에러 발생 시 실행

3. 일부러 에러 발생 시키기

try:
    print(2 + 5)
    raise ZeroDivisionError
except ZeroDivisionError:
    print(“에러 발생”)

>>> 7
>>> 에러 발생
  • raise + <에러명>을 통해 일부러 에러를 발생시킬 수 있음
  • 강제 에러 발생 전 try 문은 그대로 실행



출처:
https://gomguard.tistory.com/122
http://pyengine.blogspot.com/2019/12/for-else.html

profile
독학 머신

0개의 댓글