본문 바로가기
코딩 연습/코딩배우기

[python] 파이썬 예외처리

by good4me 2020. 10. 11.

goodthings4me.tistory.com

 

■ 파이썬의 예외처리와 기본적인 예외들

IOError, IndexError, KeyError, NameError, SystaxError, TypeError, UnicodeError, ValueError

def getMean(numValues):
    result = [n for n in numValues if n % 2 == 0]
    return sum(result) / len(result)

my_list = []

#print(getMean(my_list))  # 에러 발생
# ZeroDivisionError: division by zero

 

☞ try ~ except 예외처리

try:
    print(getMean(my_list))
except ZeroDivisionError as detail:
    print(detail)

# division by zero
# 예외와 연관된 값을 "as 변수명"으로 변수에 담아 처리할 수 있다.

 

try ~ except ~ else ~ finally 예외처리

my_list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

try:
    result = getMean(my_list2)
except ZeroDivisionError as e:
    print(e)
else:
    print('결과:', result)
finally:
    print('항상 실행')

# 결과: 5.0
# 항상 실행

else 블록은 try 블록에 문제가 없는 경우 실행되고, finally 블록은 항상 실행된다.

 

good4me.co.kr

 

text1 = '''I'm
already
much.
better
at
python.
'''

f = open('text.txt', 'w')
try:
    f.write(text1)
except:
    print('오류 발생!!')
else:
    print('파일 저장 완료')
finally:
    f.close()

 

[참고] Foundations for Analytics with Python - 파이썬 데이터 분석 입문

댓글