Перейти до вмісту
Винятки PythonПомилка
OverflowError

OverflowError

Результат арифметичної операції надто великий для представлення.

python

Що спричиняє цю помилку

Обчислення дало число, що виходить за межі діапазону типу даних. Хоча цілі числа Python мають довільну точність, числа з плаваючою крапкою обмежені. Це типово виникає при math.exp() або math.pow() для дуже великих чисел, а також під час перетворення великих Python int у float.

Як виправити

Використовуйте модуль decimal для обчислень з високою точністю. Перевіряйте діапазони вхідних даних перед обчисленням. Використовуйте math.isinf() для виявлення переповнення. Для дуже великих чисел розгляньте використання логарифмічних шкал.

Приклад

import math; math.exp(1000)  # OverflowError
Офіційна документація

Пов'язані коди помилок