[Python-Dev] Explicitly declaring expected exceptions for a block
Paul Du Bois
paul.dubois at gmail.com
Tue Jun 21 07:56:10 CEST 2005
On 6/20/05, Dmitry Dvoinikov <dmitry at targeted.org> wrote:
> Excuse me if I couldn't find that in the existing PEPs, but
> wouldn't that be useful to have a construct that explicitly
> tells that we know an exception of specific type could happen
> within a block, like:
> ignore TypeError:
> do stuff
> [else:
> do other stuff]
If I understand PEP 343 correctly, it allows for easy implementation
of part of your request. It doesn't implement the else: clause, but
you don't give a use case for it either.
class ignored_exceptions(object):
def __init__(self, *exceptions):
self.exceptions = exceptions
def __enter__(self):
return None
def __exit__(self, type, value, traceback):
try:
raise type, value, traceback
except self.exceptions:
pass
with ignored_exceptions(SomeError):
do stuff
I don't see the use, but it's possible.
> The reason for that being self-tests with lots and lots of
> little code snippets like this:
If you're trying to write tests, perhaps a better use-case would be
something like:
with required_exception(SomeError):
do something that should cause SomeError
paul
More information about the Python-Dev
mailing list