1. ホーム
  2. パイソン

[解決済み】Python try...except のカンマと 'as' を除く。

2022-04-07 10:31:21

質問

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で両方とも有効な場合、どちらを使うべきですか?

どのように解決するのですか?

決定版のドキュメントは PEP-3110: 例外をキャッチする

概要

  • Python 3.xでは as 必須 を使用して、変数に例外を代入します。
  • Python 2.6以降では as 構文は、はるかに曖昧さが少なく、Python 3.xと前方互換性があるからです。
  • Python 2.5以前のバージョンでは、カンマバージョンを使用します。 as はサポートされていません。