Python

[파이썬] 예외처리 - try, except

Sungwoo Koo 2022. 4. 18. 18:08

people list 내 dictionary에서 age가 20이상인 항목의 name을 출력하려한다.

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'])

 위 코드는 에러가 발생한다. {'name': 'bobby'} 항목은 age를 갖고있지 않기 때문이다.

 

for person in people:
    try:
        if person['age'] > 20:
            print (person['name'])
    except:
        name = person['name']
        print(f'{name} - 에러입니다')

그때 에러가 나는 부분에 try-except 구문으로 위와 같이 예외처리를 할 수 있다.

따라서 에러가 발생하지 않고 에러가 나는 부분에서 except: 구문 내 print(f'{name} - 에러입니다') 가 실행된다.