Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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')