[ 
https://issues.apache.org/jira/browse/THRIFT-3610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aki Sukegawa updated THRIFT-3610:
---------------------------------
    Issue Type: Sub-task  (was: Improvement)
        Parent: THRIFT-3607

> Streamline exception handling in Python server handler
> ------------------------------------------------------
>
>                 Key: THRIFT-3610
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3610
>             Project: Thrift
>          Issue Type: Sub-task
>          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)

Reply via email to