【发布时间】:2017-03-30 00:09:34
【问题描述】:
我正在使用 python 2.7,但尝试编写一个代码来检查对象是否也是与 python 3+ 兼容的 basestring 的子类。我尝试遵循suggested here的方法,发现过程中有一个我不理解的行为
如果我这样做:
def foo():
try: basestring
except NameError:
print "a"
foo()
什么都没有发生。
如果我在 except 内稍微修改该代码:
def foo():
try: basestring
except NameError:
print "a"
basestring=str
foo()
然后打印“a”。
我不明白向 except 块添加内容会如何影响异常的触发。
我在函数外检查了相同的代码:
try:
basestring
except NameError:
print("a")
basestring=str
但在这种情况下不会打印任何内容。
【问题讨论】:
标签: python python-2.7 exception-handling