[英]Unbound Local Error: local variable referenced before assignment inside of a try and except statement
[英]My error handling code try/expect code giving me error "local variable referenced before assignment with try and except statement"
我在這里添加了這段代碼,用於錯誤處理
try:
music = session.query(Music).filter_by(Assetid=id).one()
music.firstname = new_AssetName
music.lastname = new_category
music.DOB = new_borrower
music.experience = new_status
music.experience = new_value
session.commit()
except Exception as e:
message = "Error updating player:" + e.toString()
finally:
return template('success.tpl', message=message)
它不斷給我錯誤
UnboundLocalError: local variable 'message' referenced before assignment
我的解決方案是讓 message 成為一個全局變量,如下所示:
except Exception as e:
global message
message = "Error updating player:" + e.toString()
但這只是給我一個錯誤,說消息未定義。 我對如何解決這個問題很迷茫,任何幫助都會很棒
消息變量未在您的try塊中定義。 這意味着當您的代碼到達finally塊時,如果執行沒有引發異常,則消息變量將未定義,因此引發UnboundLocalError異常。
要解決這個問題,您可以簡單地執行以下操作:
try:
music = session.query(Music).filter_by(Assetid=id).one()
music.firstname = new_AssetName
music.lastname = new_category
music.DOB = new_borrower
music.experience = new_status
music.experience = new_value
session.commit()
message = "Successfully updated player"
except Exception as e:
message = f"Error updating player: {e}"
finally:
return template("success.tpl", message=message)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.