for内で取得したエラー文を関数の返り値として使用したい

実現したいこと

  • ソースコードを実行するとエラーが発生する理由が知りたいです
  • 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

コメントを投稿

0 コメント