try-except 문

  • 에러가 있어도 건너뛰게 할 수 있는 방법
    (*실제 사용시 어디서 error가 발생하는지 알 수 없기에 남용 금물)
scores = [{'name':'영수', 'score':70},
		  {'name':'영희', 'score':65},
          {'name':'기찬', 'score':75},
          {'name':'희수', 'score':23},
          {'name':'서경', 'score':99},
          {'name':'미주', 'score':100},
          {'name':'병태', 'score':32}
          ]
for s in scores:
    if s['score'] > 60:
        print(s['name'])

만약 서경의 data 누락이 있다면

scores = [{'name':'영수', 'score':70},
		  {'name':'영희', 'score':65},
          {'name':'기찬', 'score':75},
          {'name':'희수', 'score':23},
          {'name':'서경'},
          {'name':'미주', 'score':100},
          {'name':'병태', 'score':32}
          ]
for s in scores:
    if s['score'] > 60:
        print(s['name'])
        
> 
영수
영희
기찬
Traceback (most recent call last):
  File "C:\Users\daniel\Desktop\spartan\pythonbasic\prac.py", line 10, in <module>
    if s['score'] > 60:
KeyError: 'score'

try excpet 구문 사용 시 error를 넘길 수 있다.

for s in scores:
    try:
        if s['score'] > 60:
            print(s['name'])
    except:
        name = s['name']
        print(f'{name} - 에러입니다.')
>
영수
영희
기찬
서경 - 에러입니다.
미주