Co to jest OverflowError w Pythonie?


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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *