Python - 예외처리 Try / Except

2021. 9. 11. 10:55Python

이번 글에서는 파이썬의 예외처리 기능을 한번 적어본다.

 

우리가 코드를 실행할때 많은 에러가 발생하는데 이것을 우리가 넘겨도 되는 에러인지. 아닌지 

혹은 에러가 발생한다면! 이라는 조건(분기)을 걸고 싶을 때 사용할 수 있다. 

 

먼저 예제 코드부터 알아보자.

 

# 리스트 생성 
num_list = [1,2,3,4,5,6,7,8,9,10]

for i in range(15):
	print(num_list[i])

# 결과는??

결과는 1~ 10까지 숫자를 프린트 하고 범위가 넘어갔다는 

OUT OF RANGE 같은 에러가 발생할 것 이다. 

 

하지만 나는 이 에러가 발생해도 코드가 진행 되기를 원한다는 가정하에 아래 코드를 한번더 살펴 보도록 하겠다.

 

# 리스트 생성 
num_list = [1,2,3,4,5,6,7,8,9,10]

# 예외처리 Try /Except 실행
try:
	# 리스트에 있는 원소를 15개 불러오는 반복문 실행
	for i in range(15):
    	print(num_list[i])

except:
	# 리스트에는 10개의 원소만 있기 때문에 11번째 원소에서 Out of range 에러가 출력되며 
    # 아래 프린트문 실행
	print("범위를 벗어났습니다.")

# 에러 발생이후 Except문이 실행 되고 아래 또다른 코드 실행
print("리스트의 총합을 구합니다.")

sum = 0
for j in num_list:
	sum = sum + j
    
print(f"총합은 {sum} 입니다")

이 코드를 한번 실행해 보면 예외처리에 대한 느낌이 올거라고 생각한다. 사실 이 포스팅은 어떤 원리나 그런것을 설명하기 보단. 사용에 목적을 두고 작성되었음을 이해하기 바란다. 

 

text = '100%'

try :
    number = int(text) # 에러가 발생할 가능성이 있는 코드
except ValueError :  # 에러 종류
    print('{}는 숫자가 아닙니다.'.format(text))  #에러가 발생 했을 경우 처리할 코드

위 코드와 같이 Except에 내가 특별하게 거르고싶은 에러만을 설정할 수도 있다.