[python2]local variable referenced before assignment問題
問題描述
class Test(obj):
def __init__(self): pass def _is_flag(self): try:v_sql='''Select count(*) From tablename'''push_ctrl_conn=oracle(’ETL_TEST’)self.reach_flag=push_ctrl_conn.runsql(v_sql,1)[0][0] except Exception,e:self._set_scan_state(’22’, str(e)) finally:push_ctrl_conn.close()def run(self): self._is_flag()
if name == ’__main__’:
test_case=Test()test_case.run()
類似這種格式,然后就報(bào)了UnboundLocalError: local variable ’push_ctrl_conn’ referenced before assignment
問題解答
回答1:try語法塊不一定執(zhí)行,即push_ctrl_conn不一定被賦值。很常見的錯誤,一般可以在try語法前先賦值。
像這種連接的需求,一般用上下文管理器功能,我猜測oracle庫的實(shí)例也是支持的。
相關(guān)文章:
1. 在mac下出現(xiàn)了兩個docker環(huán)境2. html - sumlime text3代碼自動補(bǔ)全功能問題!3. web - css3 @keyframes用一次后面的任何樣式就解析不了了.4. javascript - 有一個異步獲取數(shù)據(jù)的函數(shù)A,其他依賴這個A得到的數(shù)據(jù)的函數(shù)是否都必須是異步的?5. css3 - 給body設(shè)置了translate3d,動畫的同時(shí)導(dǎo)致內(nèi)部的fixed元素失效?6. node.js - win7 grunt不是內(nèi)部或外部命令。7. 想練支付寶對接和微信支付對接開發(fā)(Java),好像個人不可以,怎么弄個企業(yè)的呢?8. node.js - 用node做微信開發(fā)后臺,獲取access_token報(bào)錯9. css3 - 求css頁面解決方案10. javascript - 大神們,求救啊,搞百度編輯器,弄了三天了,問題,如下
