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

他の方々から正解が出ているので、おまけです。
へー、と思ったので調べてみました。

ポイントは2つあって、

  • 「except as XXX」 と書くと XXXは例外に束縛されますが、except節を抜けるときに消去されてしまう
  • except節は(tryなどもですが)独自のスコープを作らない

なので、XXXに既存の変数を指定してしまうと、exceptを抜けたあとに、その変数が元から持っていた値も消されてしまうこと。ということですね。

元のコードを直すならこんな感じでしょうか。

python

1 except Exception as e:2 error_code = e 3 print(error_code)4 z = "z"

コメントを投稿

0 コメント