Согласно документации Python 3, TypeError
равно
Возникает, когда операция или функция применяется к объекту неподходящего типа.Связанное значение представляет собой строку, содержащую сведения о несоответствии типов.
Это исключение может быть вызвано кодом пользователя, чтобы указать, что предпринятая операция над объектом не поддерживается и не предполагается.[...]
Документация, тем не менее, не дает каких-либо указаний относительно того, когда на самом деле следует действовать и выдвигать это исключение.Два крайних подхода согласуются с этой документацией:
никогда не повышать TypeError
явно,
проверять тип каждого аргумента каждой функции икаждого метода, если ожидаются только определенные конкретные типы (например, float
или str
) и повышается TypeError
, если тип аргумента не входит в число ожидаемых.
Есть ликакие-либо установленные руководящие принципы или традиции в отношении повышения TypeError
?