Qual è l'analogo per .Net InvalidOperationException
in Python
?Qual è l'analogico per .Net InvalidOperationException in Python?
15
A
risposta
9
Non esiste un equivalente diretto. Solitamente ValueError
o TypeError
è sufficiente, forse un RuntimeError
o NotImplementedError
se nessuno di quelli si adatta bene.
4
probabilmente sarei andare tra una delle due opzioni:
A eccezione personalizzata, meglio definito come segue:
class InvalidOperationException(Exception): pass
Usando solo
Exception
Non credo ci sia un analogo diretto; Python sembra avere una gerarchia di eccezioni molto piatta.
2
sarò in parte d'accordo con Chris R - definire il proprio:
class InvalidOperationException(Exception): pass
Si ottiene molto beneficio dal definire le proprie eccezioni in questo modo, tra cui la costruzione di una gerarchia per soddisfare le vostre esigenze:
class MyExceptionBase(Exception): pass
class MyExceptionType1(MyExceptionBase): pass
class MyExceptionType2(MyExceptionBase): pass
# ...
try:
# something
except MyExceptionBase, exObj:
# handle several types of MyExceptionBase here...
Non sono d'accordo con il lancio di una "eccezione" nuda, però.