0
파이썬 3에서 다음 예외가 어떻게 초기화되는지 혼란 스럽습니다.기본 예외가 초기화되는 방법은 무엇입니까?
파이썬 3에서class MyException(Exception):
def __init__(self,msg,foo):
self.foo = foo
raise MyException('this is msg',123)
이 출력 :
Traceback (most recent call last):
File "exceptionTest.py", line 7, in <module>
raise MyException('this is msg',123)
__main__.MyException: ('this is msg', 123)
어떻게 인수가 초기화 얻고있다? 나는 슈퍼 클래스 이니셜 라이저를 호출하지 않기 때문에 트랙백에 args가 표시되는 것에 놀랐다.
파이썬 2에서는 args가 추적 코드에 포함되어 있지 않기 때문에 다음과 같은 결과가 표시됩니다.
Traceback (most recent call last):
File "exceptionTest.py", line 7, in <module>
raise MyException('this is msg',123)
__main__.MyException