Sergei Egorov created THRIFT-2935:
-------------------------------------

             Summary: Exceptions in Java code should not extends TException
                 Key: THRIFT-2935
                 URL: https://issues.apache.org/jira/browse/THRIFT-2935
             Project: Thrift
          Issue Type: Wish
          Components: Java - Compiler
    Affects Versions: 0.9.2
            Reporter: Sergei Egorov


Exceptions in Java should not extend TException to avoid collisions on method 
signature for better IDE support. Currently, if service is throwing some thrift 
exception, i.e. TMyCustomException, it will have following signature:

public void myMethod() throws TMyCustomException, TException {
}

But TMyCustomException is overlapped by TException,

Now, if we will call this method in our code:

client.myMethod();


IDE will propose to generate try\catch with only 1 block: 

try {
   client.myMethod();
} catch(TException e) {
}

Because TMyCustomException extends TException. If TMyCustomException will 
extends just Exception, than IDE will generate following code:

try {
   client.myMethod();
} catch(TMyCustomException e) {
} catch(TException e) {
}

which is much better, because client caller will know about any custom(!) 
thrift exception in this method.



Thanks!



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

Reply via email to