Mitä OverflowError on Pythonissa?


Paras vastaus

Kun aritmeettinen operaatio ylittää muuttujatyypin rajat, OverflowError nousee. Pitkät kokonaisluvut varaavat enemmän tilaa, kun arvot kasvavat, joten ne lopulta nostavat MemoryErroria. Liukulukuisten poikkeusten käsittelyä ei kuitenkaan ole standardoitu. Säännölliset kokonaisluvut muunnetaan pitkiksi arvoiksi tarpeen mukaan.

Esimerkki

Annettu koodi kirjoitetaan uudestaan ​​poikkeuksen saamiseksi seuraavasti:

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

vastaus

Aivan kuten useimmat muutkin ohjelmointikielet, myös Pythonin OverflowError osoittaa, että aritmeettinen operaatio on ylittänyt nykyisen Python-ajonaikaisen rajan. Tämä johtuu tyypillisesti liian suurista Float-arvoista, koska liian suuret kokonaislukuarvot päättävät nostaa MemoryErrors-arvoja.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *