You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Try Except未跳过错误反而终止程序问题排查

问题根源

你当前代码的核心问题是:调用errorFunction时,你直接写了Script1()、Script2()——这会让脚本在传入函数前就先执行了,异常发生在参数传递环节,根本没进入errorFunction的try-except捕获逻辑里,所以程序直接挂掉。

修复方案

把脚本函数本身(不带括号)传给errorFunction,在函数内部再执行它,这样异常才能被正确捕获:

def errorFunction(func, name):
    print('Running Script: ' + name)
    try:
        func()  # 在这里执行传入的脚本函数
    except FileNotFoundError:
        print(f'FileNotFound Error. Script Name: {name}')
    except Exception as e:
        print(f'Error. Script Name: {name}, 异常信息: {str(e)}')

# 传函数本身,不要加括号执行
errorFunction(Script1, 'Script1')
errorFunction(Script2, 'Script2')
errorFunction(Script3, 'Script3')
关键修改点
  • 传入时直接传Script1而不是Script1(),避免脚本提前执行,确保执行逻辑落在try-except覆盖范围内
  • 把通用异常捕获改成except Exception as e,可以打印具体异常信息,同时避免捕获系统级退出类的异常(原代码except:写法过于宽泛,不推荐)

内容的提问来源于stack exchange,提问作者user540393

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:01:06