Najlepsza odpowiedź
Gdy operacja arytmetyczna przekracza limity typu zmiennej, generowany jest błąd OverflowError. Długie liczby całkowite przydzielają więcej miejsca w miarę wzrostu wartości, więc w końcu podnoszą MemoryError. Obsługa wyjątków zmiennoprzecinkowych nie jest jednak ustandaryzowana. W razie potrzeby zwykłe liczby całkowite są konwertowane na długie wartości.
Przykład
Podany kod jest przepisywany, aby wychwycić wyjątek w następujący sposób
i=1
try:
f = 3.0**i
for i in range(100):
print i, f
f = f ** 2
except OverflowError as err:
print "Overflowed after ", f, err
Odpowiedź
Podobnie jak większość innych języków programowania, błąd OverflowError w Pythonie wskazuje, że operacja arytmetyczna przekroczyła ograniczenia bieżącego środowiska wykonawczego Pythona. Zwykle jest to spowodowane zbyt dużymi wartościami Float, ponieważ zbyt duże wartości całkowite zdecydują się zamiast tego podnieść MemoryErrors.