1

asキーワードまたはpython2.5文法を使用して、複数の例外の名前を定義する方法はありますException, eか?したがって、このようなタプルで例外を含むtry / exception句を定義し...except (RuntimeError, TypeError, NameError):て、エラーに名前を割り当てる場合は、たとえばas (Rerr,Terr,Nerr)

または、それらを1つずつ個別に定義する必要がありますか?

try:
    ....
except RuntimeError as Rerr:
    ....
except TypeError as Terr:
    ....
....
4

2 に答える 2

6

あなたはasキーワードが何をしているのか誤解しました。クラスではなく、例外インスタンス自体を変数に割り当てます。したがって、どのタイプがによってキャッチされてもexcept、最終的にはas変数になります。

于 2012-08-20T11:18:33.213 に答える
2

しかし、それぞれ個別に名前を付ける必要がある場合は、おそらくそれぞれに個別のハンドラロジックを定義していると思われます。その場合、個別の定義の何が問題になっていますか?

タイプに関係なく、例外に単一の名前を割り当てることができます。

except (RuntimeError, TypeError, NameError) as e:
于 2012-08-20T11:19:10.763 に答える