오류(Error)
- 문법오류(SyntaxError) : 스크립트가 실행되기 전 찾아냄
- 예외(Exception) : 스크립트가 실행된 후 발생한 오류. 문법 오류 제외한 모든 오류
기본형식
try :
시도할 일
except (오류명 as 매개변수) :
예외 발생 시 수행할 일
- try문 전체는 필수, except절에서 except라는 키워드만 필수.
obj = "5"
try :
print(obj ** 2)
except TypeError :
print("자료형 오류")
except NameError :
print("객체명 오류")
print("이건 마지막에 찍힐 문장")
# 자료형 오류
# 이건 마지막에 찍힐 문장
제어 심화
try :
시도할 일
except (오류명 as 매개변수) :
예외 발생 시 수행할 일
else :
예외가 발생하지 않은 경우 수행할 일
finally :
예외 발생 여부에 관계없이 수행할 일
try문에 에러 있는 예시
obj = "5"
try:
print("시도 1")
print(obj ** 2) #TypeError 발생 지점
print("시도 끝")
except:
print("try문에서 에러 발생하면 이 문장 뜸")
else:
print("에러 안 발생하면 이 문장 뜸")
finally:
print("이 문장은 무조건 다 뜸")
# 시도 1
# try문에서 에러 발생하면 이 문장 뜸
# 이 문장은 무조건 다 뜸
try문에 에러 없는 예시
obj = 5
try:
print("시도 1")
print(obj ** 2)
print("시도 끝")
except:
print("try문에서 에러 발생하면 이 문장 뜸")
else:
print("에러 안 발생하면 이 문장 뜸")
finally:
print("이 문장은 무조건 다 뜸")
# 시도 1
# 25
# 시도 끝
# 에러 안 발생하면 이 문장 뜸
# 이 문장은 무조건 다 뜸