2010-03-31 7 views

Respuesta

9

No hay equivalente directo. Por lo general, ValueError o TypeError son suficientes, quizás un RuntimeError o NotImplementedError si ninguno de los dos encaja bien.

4

probablemente iría entre una de dos opciones:

  1. Una excepción personalizada, mejor definido de la siguiente manera:

    class InvalidOperationException(Exception): pass

  2. Simplemente usando Exception

No creo que haya un análogo directo; Python parece tener una jerarquía de excepciones muy plana.

2

estaré de acuerdo parcialmente con Chris R - definir sus propias:

 class InvalidOperationException(Exception): pass 

Se obtiene mucho beneficio de la definición de sus propias excepciones de esta manera, incluyendo la construcción de una jerarquía para satisfacer sus necesidades:

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

No estoy de acuerdo con arrojar una "Excepción" desnuda, sin embargo.

Cuestiones relacionadas