최상의 답변
산술 연산이 변수 유형의 한계를 초과하면 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
Answer
대부분의 다른 프로그래밍 언어와 마찬가지로 Python의 OverflowError는 산술 연산이 현재 Python 런타임의 제한을 초과했음을 나타냅니다. 이는 일반적으로 너무 큰 Float 값으로 인해 발생합니다. 너무 큰 정수 값은 대신 MemoryErrors를 발생시키기 때문입니다.