Kyle Johnson created THRIFT-3794:
------------------------------------

             Summary: 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


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