[
https://issues.apache.org/jira/browse/GEODE-3624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16254752#comment-16254752
]
ASF GitHub Bot commented on GEODE-3624:
---------------------------------------
dgkimura 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_r151320122
##########
File path: cppcache/include/geode/Exception.hpp
##########
@@ -42,87 +44,49 @@ class StackTrace;
* @class Exception Exception.hpp
* A description of an exception that occurred during a cache operation.
*/
-class CPPCACHE_EXPORT Exception {
+class CPPCACHE_EXPORT Exception : public std::exception {
/**
* @brief public methods
*/
public:
/** Creates an exception.
* @param msg1 message pointer, this is copied into the exception.
- * @param msg2 optional extra message pointer, appended to msg1.
- * @param forceTrace enables a stacktrace for this exception regardless of
- * stacktrace-enabled system property.
- * @param cause optional cause of the exception which can be later
- * retrieved using <code>getCause</code>
**/
- Exception(const char* msg1, const char* msg2 = nullptr,
- bool forceTrace = false, const std::shared_ptr<Exception>& cause =
nullptr);
+ Exception(const char* msg1);
Review comment:
Hmm... `std::exception` has only default and copy constructors so that's not
going to work.
http://en.cppreference.com/w/cpp/error/exception/exception
----------------------------------------------------------------
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)