python - 如何访问NameError中的名称?

标签 python nameerror

我想捕获 NameError,然后访问该名称并使用它来提供更好的消息。如何在不解析错误消息的情况下访问导致错误的名称?

try:
    love_bug = herbie
except NameError as err:
    name = get_name(err)
    print(name, 'unknown.')

换句话说,我如何在上面的代码中实现 get_name() ?

最佳答案

您必须从 NameError.args[0] 中提取名称:

>>> try:
...     print(foo)
... except NameError as e:
...     print(re.search("'(?P<name>.+?)'", e.args[0]).group('name'))
...
foo

关于python - 如何访问NameError中的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44731553/

相关文章:

python - Django "No Module Named URLs"错误

python - iPython 调试器引发 `NameError: name ... is not defined`

python - NameError:名称 'unicode' 未定义

python-2.7 - Python : Can't import a function from another. py 文件

python - NameError:全局名称 'NAME' 未定义

python - 在 Python 中,确定每行代码执行多长时间的最佳方法是什么?

python - 使用信息级别记录不会产生任何输出

python numpy - 有更快的卷积方法吗?

python - NameError:名称 'now' 未定义

python - 如何为 pytest 执行的 SWIG 编译的 C 代码生成代码覆盖率报告