Wyjątek Ostrzeżenie o błędzie TypeError czasami wyświetlane, czasami nie przy użyciu metody rzutowania generatora
Jest ten kod:
class MyException(Exception):
pass
def gen():
for i in range(3):
try:
yield i
except MyException:
print("MyException!")
a = gen()
next(a)
a.throw(MyException)
Uruchomienie tego kodu:
$ python3.3 main.py
MyException!
$ python3.3 main.py
MyException!
Exception TypeError: TypeError('catching classes that do not inherit from BaseException is not allowed',) in <generator object gen at 0xb712efa4> ignored
$ python3.3 main.py
MyException!
$ python3.3 main.py
MyException!
$ python3.3 main.py
MyException!
Exception TypeError: TypeError('catching classes that do not inherit from BaseException is not allowed',) in <generator object gen at 0xb714afa4> ignored
Nie rozumiem, dlaczego czasami drukuje się toException TypeError
ostrzeżenie. Czy coś jest nie tak z niestandardowym wyjątkiem?