Exception difference 2.4 ==> 2.5
Chris Rebert
clp at rebertia.com
Wed Nov 19 01:33:35 EST 2008
On Tue, Nov 18, 2008 at 8:56 PM, D'Arcy J.M. Cain <darcy at druid.net> wrote:
> I am having a strange problem and I can't seem to zero in on it. I am
> also having trouble reducing it to a small enough snippet that I can
> post here. I think that I am doing what the more complex script does
> but none of my attempts fail. So, here is a description just in case
> someone has seen something that smells like this and can suggest some
> areas to do further poking.
>
> I have a class that subclasses xmlrpcserver.RequestHandler. It has a
> method that takes a function name that it looks up with getattr. It
> then calls the looked up method in this try/except block:
>
> try:
> return server_method(pkt)
> except Exception, failure:
> syslog(LOG_WARNING, "%s, %s" % (Exception, failure))
> self.print_tb(sys.exc_info())
>
> try: fault = self.faultConverter.errorToFault(failure)
> except Exception, err:
> syslog(LOG_ERR, "Error processing failure: %r" % err)
> fault = xmlrpclib.Fault(8002, "Internal error")
>
> syslog(LOG_DEBUG, "Converted failure %r to fault %r (%r)" %
> \ (failure, fault, failure))
>
> if fault.faultCode < 10000:
> syslog(LOG_ERR, "Unconverted fault: %r" % failure)
>
> return fault
>
> This class is then subclassed by another class that adds the methods
> that are to be looked up. Those methods may raise exceptions if there
> are errors.
>
> Under Python 2.4 this works fine. If an exception is raised in the
> looked up method it gets handled by this code just fine. Under 2.5,
> however, the exception is not caught here. It's as if there was no
> try/except here at all.
What happens under Python 2.6?
Cheers,
Chris
--
Follow the path of the Iguana...
http://rebertia.com
>
> I'm not sure if I have left off some critical piece of information or
> just littered this post with red herrings. I'm open to both
> reasoned suggestions as well as wild speculation.
>
> --
> D'Arcy J.M. Cain <darcy at druid.net> | Democracy is three wolves
> http://www.druid.net/darcy/ | and a sheep voting on
> +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
> --
> http://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list