You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2017/11/30 17:39:00 UTC
[jira] [Resolved] (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 ]
James E. King, III resolved THRIFT-3610.
----------------------------------------
Resolution: Fixed
Fix Version/s: 0.11.0
Committed based on successful resubmit. Thanks.
> 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
> Fix For: 0.11.0
>
>
> 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.4.14#64029)