【发布时间】:2011-05-08 01:48:04
【问题描述】:
我对 python 的 try-except 子句有很好的理解,但是在尝试将其放入函数时遇到了问题。
>>> def tryAppend(child, parent):
... try:
... parent.append(child)
... except NameError:
... print "WRONG NAME"
>>> var1 = []
>>> var2 = 'test2'
>>> tryAppend(var2, var1) #works, no error
>>> tryAppend(foo, var1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'foo' is not defined
这几乎就像 python 没有看到 try: 语句一样。任何帮助表示赞赏。
【问题讨论】:
-
var2 是字符串“test2”的命名空间。如果要输入字符串'foo',则必须将其封装在''或“”中,否则,如果在程序中的其他任何地方都没有将foo定义为函数或类或其他任何东西,则它不起作用。您基本上是在声明命名空间之前尝试使用它。
标签: python exception exception-handling try-catch