Python try...except カンマ vs 'as' in except 質問する

Python try...except カンマ vs 'as' in except 質問する

except ステートメントの ',' と 'as' の違いは何ですか? 例:

try:
    pass
except Exception, exception:
    pass

そして:

try:
    pass
except Exception as exception:
    pass

2 番目の構文は 2.6 では合法ですか? Windows 上の CPython 2.6 では動作しますが、cygwin の 2.5 インタープリターは無効であるとエラーを出力します。

両方とも 2.6 で有効な場合、どちらを使用すればよいですか?

ベストアンサー1

決定的な文書はPEP-3110:例外のキャッチです。

まとめ:

  • Python 3.x では、例外を変数に割り当てるには を使用する必要がありますas
  • Python 2.6 以降では、as構文を使用します。この構文は曖昧さが少なく、Python 3.x との前方互換性があります。
  • Python 2.5 以前では、サポートされていないため、コンマ バージョンを使用しますas

おすすめ記事