Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

파이썬에서 예외가 객체라는 것을 어떻게 설명할 것입니까?

<시간/>

예 주어진 코드에서 'err'은 예외 개체입니다.

파이썬에서는 모든 것이 객체입니다. 그리고 모든 객체에는 속성과 메서드가 있습니다. 따라서 목록, 함수, 튜플 등과 같은 예외도 객체입니다. 따라서 예외에도 다른 객체와 같은 속성이 있습니다. 이러한 속성은 다음과 같이 설정하고 액세스할 수 있습니다. 거의 모든 다른 예외가 하위 클래스인 기본 클래스 예외가 있습니다. e가 예외 객체인 경우 e.args 및 e.message는 해당 속성입니다.

현재 Python 구현에서 예외는 유형, 값 및 역추적의 세 부분으로 구성됩니다. sys 모듈은 현재 예외 객체를 exc_type, exc_value, exc_traceback의 세 가지 변수로 설명합니다.

sys.exc_info() 함수는 이 세 가지 속성의 튜플을 반환하고, raise 문은 이 세 부분을 받아들이는 세 개의 인수 형식을 가집니다.

주어진 코드는 다음과 같은 출력을 제공합니다.

(<type 'exceptions.ValueError'>, ValueError('could not convert
string to int: Godzilla!',), <traceback object at 0x0000000002E33748>)