【发布时间】:2010-01-22 13:48:44
【问题描述】:
#!/usr/bin/python
str = "this"
if(1):
print "Hi"
else:
print str.any_random_function()
当我运行程序时,这不会失败。我尝试了 py_compile 但这也没有表明 else 循环中的错误。现在如何编译程序并在 python 代码中可靠地检测错误?
【问题讨论】:
-
我认为在 python 中不可能做到这一点。可以动态添加方法、捕获异常或重载 getattr 方法。在任何这些情况下,您的错误将完全取决于运行时信息。
-
其实这个特殊的例子应该被pylint捕捉到了。
-
它不会失败,因为它没有错。您的模块可以在为内置字符串类正确定义
any_random_function的上下文中导入。
标签: python compilation