我是python的新手,非常抱歉,如果這個問題是愚蠢的,但是有人能告訴我這裏發生了什麼。try子句中的變量不能在finally子句中訪問 - python
當我在mdb.connect()調用中沒有錯誤地運行以下代碼時,代碼運行良好。當我執行時,我故意插入一個錯誤(例如,放在'localhostblahblah'),我得到'NameError:name'con'未定義'錯誤。
我認爲在try子句中定義的變量應該可以在finally子句中訪問。這是怎麼回事?
#!/usr/bin/python
import MySQLdb as mdb
import sys
try:
con = mdb.connect('localhost','jmtoung','','ptb_genetics')
except mdb.Error, e:
print "Error"
sys.exit(1)
finally:
if con:
con.close()
你會期望發生什麼? – delnan