他の方々から正解が出ているので、おまけです。
へー、と思ったので調べてみました。
ポイントは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 コメント