Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để bắt FloatingPointError Exception trong Python?

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