37 try- except
파이썬으로 프로그래밍을 하다 보면 다양한 예외(exception)가 발생합니다. 그렇다고 예외가 발생하는 상황을 모두 피해야만 하는 것은 아닙니다. 예외는 프로그래밍을 유연하게 할 수 있도록 돕는 도구이기도 합니다.
REPL에서 자주 발생하는 예외 한 가지를 일부러 일으켜 보겠습니다.
REPL
>>> list = []
>>> list[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
list라는 빈 리스트를 만든 다음 list[0]으로 색인(index)이 0인 값을 가져오려 하면 색인 오류(IndexError)가 발생합니다. 빈 리스트에서 값을 가져오려고 했기 때문입니다.
다음으로 text 변수에 값으로 'abc'를 넣고, number 변수에 text를 정수형(integer)으로 바꾼 값을 넣어 보겠습니다.
REPL
>>> text = 'abc'
>>> number = int(text)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'abc'