FloatingPointError được tạo ra bởi các hoạt động dấu phẩy động dẫn đến lỗi khi điều khiển ngoại lệ dấu chấm động (fpectl) được bật. Để bật fpectl yêu cầu trình thông dịch được biên dịch với cờ --with-fpectl.
Mã đã cho được viết lại như sau để xử lý ngoại lệ và tìm kiểu của nó.
Ví dụ
import sys import math import fpectl try: print 'Control off:', math.exp(700) fpectl.turnon_sigfpe() print 'Control on:', math.exp(1000) except Exception as e: print e print sys.exc_type
Đầu ra
Control off: 1.01423205474e+304 Control on: in math_1 <type 'exceptions.FloatingPointError'>