Например, рассмотрим случай:
>>> a = []
>>> a[12]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range
исключение не печатает значение, выходящее за пределы допустимого диапазона.
Я предполагаю, что мы не знаем, вызывает ли функция __str__
того, что было передано, исключение, поэтому мы не трогаем ее?