Matthias Görgens wrote:
> > If the target of the call isn't in an appropriate state, isn't that a
> > bug in the constructor that it allows you to construct objects that are
> > in an invalid state?
> > You should fix the object so that it is never in an invalid state rather
> > than blaming the caller.
> > You can't really do that with files that have been closed.
> Unless you disallow manual closing of files altogether.
> That being said, I'd suggest that people raise custom exception, so your
> callers can catch exactly what they want to handle.
> An generic exception like ValueError or the proposed InvalidStateError
> could be thrown by almost anything you call in your block, instead of just
> what you actually intend to catch.

I didn't say that I was talking about a file. In fact, today, I'm talking about 
an object that manages a subprocess. If a caller tries to call a method of the 
manager to interact with the subprocess when the subprocess has not yet been 
started or after it has been terminated, then I want to raise an appropriate 
exception. I am raising a custom exception, and it annoys me that it has to 
simply inherit from Exception when I think that an invalid state condition is a 
common enough kind of issue that it should have a standard exception class in 
the hierarchy.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/YC62WQIXUTM3ULVA64SBXBS5YZ3M2XGT/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to