Re: new style exception handleing

2005-02-03 Thread Nick Coghlan
Ola Natvig wrote:
Peter Hansen wrote:
I can't actually think of a reason to need to base an
exception on a new-style class, but perhaps you have a
good one...
It's quite simple to bypass the problem, it was more the reason I was 
wondering about too.
Basically because fixing it without killing backward compatibility with string 
exceptions is hard :)

Doesn't mean people aren't trying though (Google the python-dev archives, as 
well as the python-list ones).

Cheers,
Nick.
--
Nick Coghlan   |   [EMAIL PROTECTED]   |   Brisbane, Australia
---
http://boredomandlaziness.skystorm.net
--
http://mail.python.org/mailman/listinfo/python-list


Re: new style exception handleing

2005-02-03 Thread Michele Simionato
Google is your friend.
This has been discussed a lot in the past. For instance, google for the
thread,
"Exceptions as New Style Classes", there was also a PEP by Steven
Taschuk,
IIRC.

  Michele Simionato

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


Re: new style exception handleing

2005-02-03 Thread Ola Natvig
Peter Hansen wrote:
Ola Natvig wrote:
Does anybody know why it's not possible to raise Exceptions which are 
types (new-style-classes). I know all standard exceptions are classic 
classes, but if you make a custom exception which both inherits from a 
exception class and a new-style one the it causes a type error when 
raised.

 >>> class b(Exception, object): pass

This might not help you, but have you considered just making
your old-style class *contain a reference* to an instance
of whatever new-style class you want it to contain?  Then
the issue goes away.
I can't actually think of a reason to need to base an
exception on a new-style class, but perhaps you have a
good one...
-Peter
It's quite simple to bypass the problem, it was more the reason I was 
wondering about too.

--
--
 Ola Natvig <[EMAIL PROTECTED]>
 infoSense AS / development
--
http://mail.python.org/mailman/listinfo/python-list


Re: new style exception handleing

2005-02-02 Thread Peter Hansen
Ola Natvig wrote:
Does anybody know why it's not possible to raise Exceptions which are 
types (new-style-classes). I know all standard exceptions are classic 
classes, but if you make a custom exception which both inherits from a 
exception class and a new-style one the it causes a type error when raised.

 >>> class b(Exception, object): pass
This might not help you, but have you considered just making
your old-style class *contain a reference* to an instance
of whatever new-style class you want it to contain?  Then
the issue goes away.
I can't actually think of a reason to need to base an
exception on a new-style class, but perhaps you have a
good one...
-Peter
--
http://mail.python.org/mailman/listinfo/python-list


new style exception handleing

2005-02-02 Thread Ola Natvig
Hi all
Does anybody know why it's not possible to raise Exceptions which are 
types (new-style-classes). I know all standard exceptions are classic 
classes, but if you make a custom exception which both inherits from a 
exception class and a new-style one the it causes a type error when raised.

>>> class b(Exception, object): pass
>>> raise b
Traceback (most recent call last):
  File "", line 1, in -toplevel-
raise b
TypeError: exceptions must be classes, instances, or strings 
(deprecated), not type

This is weird, I think. Are there any issues about raising types as 
exceptions that I can't think of ?

--
--
 Ola Natvig <[EMAIL PROTECTED]>
 infoSense AS / development
--
http://mail.python.org/mailman/listinfo/python-list