Why exception is not newstyle class?

kyo kyo at netease.com
Mon Jan 5 02:49:35 EST 2004


class A(Exception):
	
	def __init__(self, n):
		self.test = n

(1) :

class B(A):
	
	def __init__(self, n):
		#A.__init__(self, n)
		super(B, self).__init__(n)
		self.testb = n
	
try:
	raise B, B(1)
except A, a:
	print dir(a)
	
=============================
(2):
	
class B(object):
    pass
class C(B):
    pass
class D(C):
    pass


for c in [B, C, D]:
    try:
        raise c()
    except D:
        print "D"
    except C:
        print "C"
    except B:
        print "B"

================================

I want to use new style class, how to do that?
If I can't, Why?



More information about the Python-list mailing list