You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Aki Sukegawa (JIRA)" <ji...@apache.org> on 2016/02/10 22:59:18 UTC

[jira] [Created] (THRIFT-3610) Streamline exception handling in Python server handler

Aki Sukegawa created THRIFT-3610:
------------------------------------

             Summary: Streamline exception handling in Python server handler
                 Key: THRIFT-3610
                 URL: https://issues.apache.org/jira/browse/THRIFT-3610
             Project: Thrift
          Issue Type: Improvement
          Components: Python - Compiler
            Reporter: Aki Sukegawa
            Assignee: Aki Sukegawa
            Priority: Minor


It also serves as a reference implementation of THRIFT-3607.
Only needed behavior change was to send catched TApplicationException, rather than opaque TApplicationException(INTERNAL_ERROR).

It now looks like this (comments are not generated)
{code}
try:
    # handler call
    ...
except TTransport.TTransportException:  # disconnect
    raise
except Xception as err1:  # declared exception
    msg_type = TMessageType.REPLY
    result.err1 = err1
except TApplicationException as ex:    # send as is
    logging.exception('TApplication exception in handler')
    msg_type = TMessageType.EXCEPTION
    result = ex
except Exception:  # send INTERNAL_ERROR
    logging.exception('Unexpected exception in handler')
    msg_type = TMessageType.EXCEPTION
    result = TApplicationException(...)
result.write(...)
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)