Context Manager getting str instead of AttributeError instance

Prasad, Ramit ramit.prasad at jpmorgan.com
Thu Mar 15 18:34:44 CET 2012


So I have a context manager used to catch errors

def __exit__( self, exceptionClass, exception, tracebackObject ):
    if isinstance( exception, self.exceptionClasses ):
         #do something here

Normally exception would be the exception instance, but for 
AttributeError it seems to be a string instead. 

1) Why is AttributeError different than the other built-ins
in this respect?
2) Are there other standard errors like this (I know
that SystemExit is different as well)?
3) Taking into account that I want to include subclasses of 
classes listed in self.exceptionClasses, Is there a better check I can use?

Ramit


Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology
712 Main Street | Houston, TX 77002
work phone: 713 - 216 - 5423

--


This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.  



More information about the Python-list mailing list