728x90
1. 예외 처리
: 코드 실행 중 발생되는 예외적인 상황(ex. 에러 발생)을 대비해 예외를 어떻게 처리할 것인지 따로 코딩해놓는 것 (try~ except~문)
try :
except :
[연습문제 1]
* 문자열 PER(Price to Earning Ratio) 값을 실수로 변환할 때 에러가 발생함. 예외처리를 통해 에러가 발생하는 PER은 0으로 출력하기
▶ 에러 발생
per = ["10.31","","8.00"] # 빈 공간인 데이터 값이 있기 때문에 float(i)는 에러남
for i in per :
print(float(i))
▶ 예외 처리하기
per = ["10.31","","8.00"]
new_per = []
for i in per :
try :
v = float(i)
except :
v = 0
new_per.append(v)
print(new_per)
[연습문제 2]
* 어떤 값을 0으로 나누면 ZeroDivisionError가 발생함.
try~ except ~로 예외처리를 하되, 모든 에러에 대해 예외처리 하지 말고, ZeroDivisionError에 대해서만 예외처리 하기
try :
b = 3 / 0
print(b)
except ZeroDivisionError :
print('0으로 나누면 안됩니다.')
[연습문제 3]
* 다음과 같은 코드 구조에서 발생하는 에러를 예외처리하여 적절한 에러메시지 출력하기
▶ for문을 이용해 출력되는 i 값이 data 리스트의 범위를 벗어남 → 에러 발생
(data 리스트의 값은 3개인데 for문으로 출력되는 i는 5개, data 리스트에 없는 i값은 인덱싱이 안됨)
data = [1,2,3]
for i in range(5) :
print(data[i])
▶ 예외 처리
# 1
data = [1,2,3]
for i in range(5) :
try :
print(data[i])
except :
print("리스트의 범위를 벗어났습니다")
# 2
data = [1,2,3]
for i in range(5) :
try :
print(data[i])
except IndexError as e :
print(e)
728x90
댓글