[ https://issues.apache.org/jira/browse/THRIFT-727?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Konrad Grochowski reassigned THRIFT-727: ---------------------------------------- Assignee: Konrad Grochowski > support native language specific exception message > -------------------------------------------------- > > Key: THRIFT-727 > URL: https://issues.apache.org/jira/browse/THRIFT-727 > Project: Thrift > Issue Type: Improvement > Components: Compiler (General) > Affects Versions: 0.2 > Environment: all > Reporter: Ping Li > Assignee: Konrad Grochowski > Priority: Minor > > 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)