26

.Net の類似物は何InvalidOperationExceptionですかPython?

4

4 に答える 4

20

直接同等のものはありません。通常はValueErrororで十分ですが、どちらにも当てはまらない場合TypeErrorはおそらくRuntimeErrororです。NotImplementedError

于 2010-03-31T16:47:22.167 に答える
9

おそらく、次の2つのオプションのいずれかを選択します。

  1. カスタム例外。次のように定義するのが最適です。

    class InvalidOperationException(Exception): pass

  2. 使っているだけException

直接の類似物があるとは思いません。Python は非常にフラットな例外階層を持っているようです。

于 2010-03-31T16:46:37.833 に答える
4

私はChris Rに部分的に同意します-あなた自身を定義してください:

     class InvalidOperationException(Exception): pass

このように独自の例外を定義すると、ニーズに合わせて階層を構築するなど、多くの利点が得られます。

     class MyExceptionBase(Exception): pass
     class MyExceptionType1(MyExceptionBase): pass
     class MyExceptionType2(MyExceptionBase): pass
     # ...
     try:
        # something
     except MyExceptionBase, exObj:
        # handle several types of MyExceptionBase here...

ただし、裸の「例外」をスローすることに同意しません。

于 2010-03-31T22:31:06.870 に答える