
Jean Abou Samra wrote:
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
Le 01/09/2022 à 23:40, Steve Jorgensen a écrit : 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.
`ValueError` is about for when the value of an argument passed to the function is unacceptable. The exception that I propose would be for when there is nothing wrong with any argument value, but the object is not in the correct state for that method to be called. I should have provided an example. One example is when trying to call methods to interact with a remote system either before a connection has been made or after the connection has been terminated.