[ 
https://issues.apache.org/jira/browse/THRIFT-3794?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15254950#comment-15254950
 ] 

ASF GitHub Bot commented on THRIFT-3794:
----------------------------------------

GitHub user kjpowerworld opened a pull request:

    https://github.com/apache/thrift/pull/993

    THRIFT-3794: Fixing exception types in library now that they have been 
split up.

    Needed to update a few exception types in Thrift.Socket.pas and 
Thrift.Transport.pas.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/powerworld/thrift fixes/THRIFT-3794

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/993.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #993
    
----
commit e1d7bbb925be2038fb8e02dd0e710f3a2b423fb3
Author: Kyle Johnson <[email protected]>
Date:   2016-04-23T00:11:16Z

    Fixing exception types now that they have been split up.

----


> Split Delphi application, protocol and transport exception subtypes into 
> separate exceptions
> --------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3794
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3794
>             Project: Thrift
>          Issue Type: Improvement
>          Components: Delphi - Library
>            Reporter: Kyle Johnson
>            Assignee: Kyle Johnson
>             Fix For: 0.10.0
>
>         Attachments: 
> THRIFT-3794-Split-Application-Protocol-Transport-exception-subtypes.patch, 
> THRIFT-3794-Split-Delphi-application-protocol-and-tr.patch
>
>
> It is much more convenient to work with a hierarchy of exceptions for several 
> reasons, including, but not limited to the following:
> 1) Writing exception handler filters is much simpler and clearer when one can 
> simply say "on E: TTransportExceptionTimedOut do" instead of "on E: 
> TTransportException do if E.Type_ = 
> TTransportException.TExceptionType.TimedOut then".
> 2) Ignoring exception types within the Delphi IDE is doable, but not by 
> exception subtype, as with the Delphi library.  It isn't possible to ignore 
> transport timeouts and not ignore all other transport exception subtypes.  
> This makes debugging much more challenging when stepping through code.
> I propose splitting the TApplicationException, TProtocolException and 
> TTransportException classes into separate exception classes based on 
> exception subtype.  It should be possible to do so while retaining backward 
> compatibility for code that relies on the old exception methodology.



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

Reply via email to