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

Python NameError异常定义及异常变量e未定义报错解决咨询

NameError异常定义

NameError是Python的内置标准异常,当代码尝试引用未提前声明/定义的变量、函数、类等标识符时,解释器就会抛出该异常。你本次遇到的报错就是因为异常捕获逻辑中没有定义变量e,却直接在字符串格式化时调用了e。

代码修复方案

你当前的异常捕获语句仅写了except:,没有将捕获到的异常实例绑定到变量,需要调整为except Exception as e:的格式即可完成变量e的定义。
另外需要注意:Python3中已经废弃了内置的file()函数,读写文件请使用open()函数,否则修复完异常变量的问题后依然会报错。
完整修正后的代码如下:

def fixPdf(pdfFile):
    try:
        # 替换已废弃的file()为open()
        fileOpen = open(pdfFile, "a")
        fileOpen.write("%%EOF")
        fileOpen.close()
        return "Fixed"
    # 将捕获到的异常实例绑定到变量e
    except Exception as e:
        return "Unable to open file: %s with error: %s" % (pdfFile, str(e))

if __name__ == '__main__':
    fixPdf('Sample.pdf')

补充说明:

  • 你也可以根据需求精准指定捕获的异常类型,比如except IOError as e:只捕获文件操作相关的异常,避免捕获无关异常导致问题被掩盖。
  • 日常写代码时更推荐用上下文管理器with来操作文件,不需要手动调用close()方法,文件操作结束后会自动关闭,避免资源泄露。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 09:45:04