gpt4 book ai didi

python - 在 python 中以不同方式处理语言错误和运行时错误

转载 作者:行者123 更新时间:2023-11-30 23:28:52 25 4
gpt4 key购买 nike

我在 python 中有一个大小合适的代码,我对其进行了一些更改,现在我发现在执行代码时,脚本不会解决诸如缺少函数定义之类的语言错误。我认为不可能继续运行缺少函数定义的脚本。我在一个地方使用了一个函数,目的是在运行之前实际定义该函数,但忘记了它并运行了代码。令我惊讶的是,我刚刚将以下行打印到控制台 -

Worker instance has no attribute update_parse_status

Worker 是我应该添加 update_parse_status() 调用的类。

我意识到我有一个尝试和一个通用的捕获所有异常处理程序围绕有问题的代码,如下所示 -

try:
Worker.update_parse_status()
except Exception as e:
print e

所以 python 只是抛出一个 AttributeError 并且我在不知不觉中捕获了它。它给我上了宝贵的一课,那就是不要捕获所有异常处理程序。同样来自编译语言是否有更好的方法来处理这个问题?我的意思是,我可以如何确保 python 在出现语言错误时退出吗?至少清除明显的错误将非常有帮助(尽管我知道糟糕的代码让我陷入了这种情况)。

最佳答案

在 python 中,所有名称都会在运行时查找。因此,您所说的“语言”错误与运行时错误没有什么不同。

这使得 Python 与许多其他语言不同。这一事实的优点之一是,您可以轻松地自定义查找名称的方式(例如,通过覆盖类的 __getattr__)。

您可以使用分析器(例如 pyflakes 非常酷,但还有很多其他分析器)在运行程序之前检测一些错误,但没有工具能够检测到所有错误。

关于python - 在 python 中以不同方式处理语言错误和运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21424098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com