私はまだ例外処理のこつを持っていないようです。私は途方に暮れています:(次のコードは時々このエラーを返します:
File "applications/pingback/modules/plugin_h_pingback.py", line 190, in ping
db(table.id==id_).update(status=status)
UnboundLocalError: local variable 'status' referenced before assignment
status
常に値が割り当てられていると思います。他の例外がスローされ(おそらく内部でtry
)、それがfinally
隠されている可能性がありますか?
...
try:
server_url = self._get_pingback_server(target)
except PingbackClientError, e:
status = e.message
else:
try:
server = xmlrpclib.ServerProxy(server_url)
status = server.pingback.ping(self.source, target)
except xmlrpclib.Fault, e:
status = e
finally:
db(table.id==id_).update(status=status) # <-- UnboundLocalError
...
ありがとう、HC