Q&A
実現したいこと
- ソースコードを実行するとエラーが発生する理由が知りたいです
- for内で取得したerror_codeを関数の返り値として使用したいです
前提
- B=aでは故意でエラー発生をしています
- エラー発生場所は下から2行目のprint(error_code)です
print(z)ではzの出力ができているのに、error_codeの出力ができない理由はなぜでしょう?
もともとのプログラムは3台のサーバーがあり、3台のうち1台でもデータ送信が成功するとbreakで抜けるというプログラムを作成していました
発生している問題・エラーメッセージ
UnboundLocalError: local variable 'error_code' referenced before assignment
ソースコード
python3.9.4
1def A(): 2 error_code = None 3 try: 4 print("A") 5 for i in range(3): 6 try: 7 B = a 8 except Exception as error_code: 9 print(error_code) 10 z = "z" 11 else: 12 print("D") 13 break 14 except Exception as e: 15 print("e") 16 pass 17 print(z) 18 print(error_code) 19 return error_code
試したこと
- 2行目に「error_code = None」があっても同じ
補足情報(FW/ツールのバージョンなど)
pythonのバージョンは3.9.4
回答3件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2023/03/07 07:21