예외(exception)
이라는 특수 함수의 반환 값으로 표시예외 처리(exception handler)
가 필요short_list = [1, 2, 3]
position = 5
short_list[position]
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# Index Error: list index out of range
try
, 에러 처리를 위해 except
를 사용try
문의 코드를 실행해서 에러가 발생한다면, except
문의 코드가 실행try
문에서 에러가 없다면, except
문을 건너 뜀except
문의 인수: try 문에서 두 개 이상의 예외 타입이 발생하면, 인수를 통해 별도의 예외 핸들러를 제공인수가 없는 except문: 모든 예외 타입을 포괄적으로 처리
except 예외 타입 as 변수명:
예외 활용
1. 파이썬 표준 라이브러리에 정의된 예외 처리 중 필요한 예외 처리를 선택해서 사용
2. 프로그램에서 특수한 상황에 발생할 수 있는 예외를 처리하기 위한 예외 유형을 정의
클래스(class)
이며, Exception
class의 자식이다.class UppercaseException(Exception):
pass
words = ['eenie', 'meenie', 'miny', 'MO']
for word in words:
if word.isupper():
raise UppercaseException(word)
# Traceback (most recent call last):
# File "<stdin>", line 3, in <module>
# __main__.UppercaseException: MO
assert
True
가 아니면 AssertError
를 발생시킴a = 3
assert a == 2
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# Assertion Error