
Le 01/09/2022 à 23:40, Steve Jorgensen a écrit :
I frequently find that I want to raise an exception when the target of a call is not in an appropriate state to perform the requested operation. Rather than choosing between `Exception` or defining a custom exception, it would be nice if there were a built-in `InvalidStateError` exception that my code could raise.
In cases where I want to define a custom exception anyway, I think it would be nice if it could have a generic `InvalidStateError` exception class for it to inherit from.
Of course, I would be open to other ideas for what the name of this exception should be. Other possibilities off the top of my head are `BadStateError` or `StateError`.
https://docs.python.org/3/library/exceptions.html#ValueError states that ValueError is “Raised when an operation or function receives an argument that has the right type but an inappropriate value, and the situation is not described by a more precise exception such as |IndexError| <https://docs.python.org/3/library/exceptions.html#IndexError>.” How would a "state error" differ from this more precisely? What value would this new exception type add? Both ValueError and this proposed StateError are very generic.