如何捕捉 Python 中的 OverflowError 異常?


當算術運算超出了變數型別的限制,將引發 OverflowError。長整數會隨著值增長而分配更多空間,因此最終會引發 MemoryError。但是,浮點異常處理未標準化。常規整數會根據需要轉換為長值。

示例

重寫給定的程式碼以捕獲異常,如下所示

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

輸出

我們得到以下 OverflowError 作為輸出,如下所示

C:/Users/TutorialsPoint1/~scratch_1.py
Floating point values:
0 3.0
1 9.0
2 81.0
3 6561.0
4 43046721.0
5 1.85302018885e+15
6 3.43368382029e+30
7 1.17901845777e+61
8 1.39008452377e+122
9 1.93233498323e+244
Overflowed after 1.93233498323e+244 (34, 'Result too large')

更新時間:2020-02-12

2K+ 瀏覽

啟動你的 職業

完成課程獲得認證

開始學習
廣告
© . All rights reserved.