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

Jens Geyer edited comment on THRIFT-2935 at 3/6/15 7:07 PM:
------------------------------------------------------------

1. Welcome!

2. Name dropping does not work with me. By saying "project", you talk about 
Thrift in general, right? That still does not say much about this particular 
ticket.

3. To put it right: I do not have a particularly strong opinion about this 
ticket. I just want to mention that (a) basing a design decision on an IDE 
behaviour sounds wrong to me and (b) Java would be the only language that 
breaks the defined inheritance pattern. That's why I would love to hear the 
opinion of more Java-focused committers about that topic. 

(4. @Mailing list: Sorry for the edit spam.)


was (Author: jensg):
1. Welcome!
2. Name dropping does not work with me. By saying "project", you talk about 
Thrift in general, right? That still does not say much about this particular 
ticket.

> 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
>              Labels: exception-handling, exceptions, java
>
> 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