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.
It depends on context whether it makes sense to define a custom exception, and I agree that I frequently should define a custom exception. In that case though, it would still be nice to have an appropriate generic exception for that to inherit from, just as I would inherit from `ValueError` for a special case of a value error. _______________________________________________ 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/GNBFLWNXWBV54C73MOZJDEXJPDIOVBGM/ Code of Conduct: http://python.org/psf/codeofconduct/