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

ASF GitHub Bot commented on GEODE-3624:
---------------------------------------

pivotal-jbarrett commented on a change in pull request #152: GEODE-3624: Update 
C++ client exceptions to implement std::exception interface
URL: https://github.com/apache/geode-native/pull/152#discussion_r151483458
 
 

 ##########
 File path: clicache/src/ExceptionTypes.cpp
 ##########
 @@ -112,6 +112,12 @@ namespace Apache
       System::Exception^ GeodeException::Get(const 
apache::geode::client::Exception& nativeEx)
       {
         Exception^ innerException = nullptr;
+        try
+        {
+          std::rethrow_if_nested(nativeEx);
+        } catch (const apache::geode::client::Exception& ex) {
+          innerException = GeodeException::Get(ex);
+        }
 
 Review comment:
   Crazy but hey its the C++11 way right!

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


> Update exceptions to more closely match standard exception interface
> --------------------------------------------------------------------
>
>                 Key: GEODE-3624
>                 URL: https://issues.apache.org/jira/browse/GEODE-3624
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: David Kimura
>
> Native client library should follow standard exception interface for any 
> thrown exceptions.  This means one less custom interface that a customer or 
> developer needs to understand.
> {noformat}
> namespace apache {
> namespace geode {
> namespace client {
> class Exception : public std::exception {...};
> class IllegalArgumentException : public Exception {...};
> class TransactionException : public Exception {...};
> class RollbackException : public TransactionException {...};
> // NO - class IllegalArgumentException : public Exception, public
> std::invalid_argument {...};
> // NO - class IllegalArgumentException : public std::invalid_argument {...};
> // NO - class IllegalArgumentException : public Exception, public
> TransactionException {...};
> }
> }
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to