try: except <never>:

Tom Anderson twic at
Tue Jan 10 18:35:00 EST 2006

On Tue, 10 Jan 2006, Duncan Booth wrote:

> Paul Rubin wrote:
>> Hallvard B Furuseth <h.b.furuseth at> writes:
>>>> class NeverRaised(Exception): pass
>>>> for ex in ZeroDivisionError, NeverRaised:
>>> Heh.  Simple enough.  Unless some obstinate person raises it anyway...
>> Hmm, ok, how's this?:
>>    def NeverRaised():
>>      class blorp(Exception): pass
>>      return blorp
>>    for ex in ZeroDivisionError, NeverRaised():
>>      ...


> Or you can create an unraisable exception:
>>>> \
> class NeverRaised(Exception):
>    def __init__(self, *args):
>        raise RuntimeError('NeverRaised should never be raised')

Briliant! Although i'd be tempted to define an UnraisableExceptionError to 
signal what's happened. Or ...

class ImpossibleException(Exception):
 	def __init__(self, *args):
 		raise ImpossibleException, args

Although crashing the interpreter is probably overkill.


Like Kurosawa i make mad films; okay, i don't make films, but if i did
they'd have a samurai.

More information about the Python-list mailing list