
470 Chapter 11
뭐가 잘못되었죠?
‘sys’로 예외 정보 얻기
표준 라이브러리는 인터프리터 내부 정보(런타임에 가능한 변수와 함수 집합)에 접근할 수
있는
sys
라는 모듈을 제공합니다.
예를 들어
exc
_
info
함수는 현재 처리 중인 예외의 정보를 제공합니다.
exc
_
info
를
호출하면 예외의 유형, 예외 값, 요긴하게 사용할 수 있는 역추적 메시지에 접근하는 데
필요한 역추적 객체 이렇게 세 가지 값을 갖는 튜플을 반환합니다. 현재 이용할 수 있는
예외가 없으면
exc
_
info
는
(
None
,
None
,
None
)
이라는 파이썬 널 값을 포함하는
튜플을 반환합니다.
이를 바탕으로
>>>
쉘에서 몇 가지 실험을 합시다. 다음
IDLE
세션에는
0
으로 나누는
연산을 시도하여 항상 문제가 발생하는 코드가 들어 있습니다. 모든 예외를 잡아 처리하는
except
스위트에서는
sys
.
exc
_
info
함수를 이용해 현재 발생한 예외 관련 데이터를
가져와 출력합니다.
‘
sys
’
모듈을 임포트하세요.
0으로 나누는 것은
결코
좋은 생각이 아닙니다.
0으로 나누는 연산을 수행하면 예외가 발생하니까요.
현재 발생한 예외와 관련한
데이터를 추출하고 표시합니다.
예외와 관련된 데이터를 통해 0으로 나누는
문제가 발생했음을 확인할 수 있어요,
역추적 객체를 이용하면 무슨 ...