guido van rossum hoaufpythonorg mon mar 17 2008 535 pm alexander belopolsky wrote discussing issue2291 presented following argument consider following code class x pass class yx pass try raise except print except print b prints b really version exactly platform reproduce either 24 25 26 os x suppose preparation 30 transition someone adds __metaclass__ type module code result prints one would expect regardless metaclass right since difference behavior error handling code experience often thoroughly tested bug introduced seemingly innocuous move old new style classes likely trigger worst possible moment example wrong rollback logic applied failed database commit httpbugspythonorgmsg63584 issue partially alleviated 3 warning warning issued unless error condition raising new style class deriving baseexception actually tested understanding subclass check skipped new style classes derived baseexception order enable identity check string exception caught idea talking quote file revision line number done deprecation string exceptions logic hard justify case believe issue either code documentation bug exceptions identified class instances except clause selected depending class instance must reference class instance base class thereof httpdocspythonorgdevreferenceexecutionmodelhtmlid2 dont see anything documentation would suggest old new class instances behave differently neither guido van rossum home page httpwwwpythonorgguido _______________________________________________ pythondev mailing list zvlllneumpythonorg httpmailpythonorgmailmanlistinfopythondev unsubscribe httpmailpythonorgmailmanoptionspythondevpythondev40tangomucom wed 06 aug 2008 072839 0500 pythondev newold class exception pitfall