[ 
https://issues.apache.org/jira/browse/THRIFT-727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Konrad Grochowski resolved THRIFT-727.
--------------------------------------
       Resolution: Fixed
    Fix Version/s: 0.9.3
         Assignee: Anna Dymek  (was: Konrad Grochowski)

I've simplified a little generated `what()` body and renamed internal message 
holder (names starting with underscore and uppercase letter should be avoided - 
in global scope by standard requirements, in local scope by good practice ;) ).

Still - committed, thanks :)

> support native C++ language specific exception message
> ------------------------------------------------------
>
>                 Key: THRIFT-727
>                 URL: https://issues.apache.org/jira/browse/THRIFT-727
>             Project: Thrift
>          Issue Type: Improvement
>          Components: C++ - Compiler
>    Affects Versions: 0.2
>         Environment: all
>            Reporter: Ping Li
>            Assignee: Anna Dymek
>            Priority: Minor
>             Fix For: 0.9.3
>
>
> The current exception implement requires the error message to be declared and 
> referenced explicitly, especially when it's sent from server to the client. 
> On client side, this error message cannot be accessed via a native API like 
> exception::what() in C++.
> Example,
> {code}
> exception MyException {
>   1: i32   code;
>   2: string message;
> }
> {code}
> On client side, it can only be accessed like this,
> {code}
> try {
>   server->someMethod();
> } catch (MyException &e) {
>   cout << "MyException: " << e.message << endl;     // this will print the 
> exception message
>   cout << "MyException: " << e.what() << endl;      // this will print 
> TException::Default
> }
> {code}
> At the same time, if TException::message_ is initialized, exception::what() 
> does work when the exception is caught locally.
> It's a little confusing when to use the native method, and when to use Thrift 
> exception message data member.
> It'll be really nice if all exception messages can be accessed the same way 
> thru the navtive language on client side.



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

Reply via email to