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 23:12:18 UTC
[jira] [Updated] (THRIFT-3610) Streamline exception handling in
Python server handler
[ 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)