people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
if person['age'] > 20:
print(person['name'])
# 결과 출력: bobby에는 age 값이 없으므로 에러 발생
carry
ben
Traceback (most recent call last):
File "/Users/user/Desktop/sparta_python/pythonProject1/hello.py", line 13, in <module>
if person['age'] > 20:
~~~~~~^^^^^^^
KeyError: 'age'
try~except
문을 통해 해결한다.
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print(f'{person['name']}에는 입력된 나이가 없습니다.')
# 출력 결과
carry
ben
bobby에는 입력된 나이가 없습니다.
red
queen
단, 남용 시에는 어떤 에러가 났는지 알기 어려우므로 웬만하면 사용하지 않는 것이 좋다.