V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
yanyuechuixue
V2EX  ›  问与答

Python , try except 无法捕获浮点数错误异常?

  •  
  •   yanyuechuixue · 185 天前 · 293 次点击
    这是一个创建于 185 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬!

    小弟虚心求助!!

    百思不得其解!!

    是这样,我有一段代码,这段代码形如:

    import numpy as np
    from tqdm import trange
    from eventRate import one_year_event_m1_m2_s1z_s2z_dl_inc_phase
    
    number = 0
    parameters_results = []
    for i in trange(len(one_year_event_m1_m2_s1z_s2z_dl_inc_phase[:])):
        try:
            to_append = []
            m1,m2,s1z,s2z,dl,inclination,phase = one_year_event_m1_m2_s1z_s2z_dl_inc_phase[i]
            some_calculation_here...
        except:
            continue
            
    

    现在的问题是,我用 try except 把整个循环都包起来了,所有原则上在循环过程中,只要循环开始了,就不应该出现错误了。但事实上会在运行到例如 1% 或 2% 出现错误。错误报错如下:

    [1]    3089155 floating point exception (core dumped)  python run.py
    

    也许我可以用输出每个循环的参数的方法来找出哪些参数有问题,但令我疑惑的是,try except 为什么没有把错误捕获呢?

    2 条回复
    Kite6
        1
    Kite6  
       185 天前 via Android
    core dump 就不是 Python 层面能捕获的了
    Kite6
        2
    Kite6  
       185 天前 via Android
    用 gdb 看看 core 文件的堆栈吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2731 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:51 · PVG 17:51 · LAX 01:51 · JFK 04:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.