⚠️ 这一段呢,编译得过吗
换一段:用了一个根本不存在的名字。
y = undefined_name
同样先编译再运行:
def when_fails(src):
"""这段源码是编译期就挂,还是跑起来才挂"""
try:
code = compile(src, "<s>", "exec")
except SyntaxError:
return "编译期"
try:
exec(code, {})
except NameError:
return "运行期"
return "跑通了"
SRC = 'y = undefined_name'
print(when_fails(SRC))
全部评论