![](/img/trans.png)
[英]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.