[python] 예외처리 (try~except)

갓희·2024년 5월 8일
0

Python

목록 보기
5/5
post-thumbnail

예외처리가 되지 않은 상태에서의 에러

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

단, 남용 시에는 어떤 에러가 났는지 알기 어려우므로 웬만하면 사용하지 않는 것이 좋다.

profile
나의 개발일지

0개의 댓글

관련 채용 정보