Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะตรวจจับข้อยกเว้น FloatingPointError ใน Python ได้อย่างไร


FloatingPointError เกิดขึ้นจากการดำเนินการของทศนิยมซึ่งส่งผลให้เกิดข้อผิดพลาด เมื่อเปิดการควบคุมข้อยกเว้นทศนิยม (fpectl) การเปิดใช้งาน fpectl ต้องใช้ล่ามที่คอมไพล์ด้วยแฟล็ก --with-fpectl

โค้ดที่กำหนดจะถูกเขียนใหม่ดังนี้เพื่อจัดการกับข้อยกเว้นและค้นหาประเภทของโค้ด

ตัวอย่าง

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

ผลลัพธ์

Control off: 1.01423205474e+304
Control on: in math_1
<type 'exceptions.FloatingPointError'>