I'm trying to replace a built-in exception type and here's a simplified 
example of what I was hoping to do...

 >>>
 >>> import exceptions, __builtin__
 >>>
 >>> zeroDivisionError = exceptions.ZeroDivisionError
 >>>
 >>> class Foo(zeroDivisionError):
...     bar = 'bar'
...
 >>>
 >>> exceptions.ZeroDivisionError = Foo
 >>> ZeroDivisionError = Foo
 >>> __builtin__.ZeroDivisionError = Foo
 >>>
 >>> try:
...     raise ZeroDivisionError
... except ZeroDivisionError, e:
...     print e.bar
...
bar
 >>>
 >>> try:
...     1/0
... except ZeroDivisionError, e:
...     print e.bar
...
Traceback (most recent call last):
   File "<stdin>", line 2, in ?
ZeroDivisionError: integer division or modulo by zero
 >>>

Notice that I get my customized exception type when I explicitly raise 
ZeroDivisionError but not when that is implicitly raised by 1/0. It 
seems like I have to replace that exception type at some lower level, 
but I'm not sure how/where. Does anyone know of a way to do this?

- Nishkar

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to