Python Glossary English

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Сообщить о неточности