Python 3.3+Исключенияисключение
decimal.FloatOperation
модульные исключения
Смешивание Decimal и float при включённой ловушке FloatOperation.
Синтаксис
raise decimal.FloatOperation
По умолчанию ловушка выключена: смешивать Decimal и float в конструкторе и в сравнениях можно, факт смешения лишь молча взводит флаг в контексте. Включают её осознанно — чтобы отловить случайно затесавшийся float в денежных расчётах. Даже с включённой ловушкой тихими остаются сравнения на равенство и явные преобразования вроде Decimal.from_float(), а сам класс наследуется ещё и от TypeError.
Примеры
import decimal
try:
raise decimal.FloatOperation
except decimal.FloatOperation as e:
print(type(e).__name__) # → FloatOperation
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности