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)