/*
- * Drizzle Client & Protocol Library
+ * Summary: Exceptions for the C++ interface
*
- * Copyright (C) 2009 Patrick Galbraith (patg@patg.net)
- * All rights reserved.
+ * Copy: See Copyright for the status of this software.
*
- * Use and distribution licensed under the BSD license. See
- * the COPYING file in this directory for full text.
*/
/**
#define LIBMEMACHED_EXCEPTION_HPP
#include <stdexcept>
+#include <string>
-
-namespace memcache {
-
+namespace memcache
+{
class Exception : public std::runtime_error
{
public:
- Exception(const std::string& msg, bool errno)
- : std::runtime_error(msg), _errno(errno) {}
- Exception(const char *msg, bool errno)
- : std::runtime_error(msg), _errno(errno) {}
+ Exception(const std::string& msg, int in_errno)
+ :
+ std::runtime_error(msg),
+ _errno(in_errno)
+ {}
+
+ Exception(const char *msg, int in_errno)
+ :
+ std::runtime_error(std::string(msg)),
+ _errno(in_errno) {}
+
virtual ~Exception() throw() {}
- int getErrno() const { return _errno; }
+ int getErrno() const
+ {
+ return _errno;
+ }
+
private:
int _errno;
-
};
class Warning : public Exception
{
public:
- Warning(const std::string& msg, bool errno) : Exception(msg, errno) {}
- Warning(const char *msg, bool errno) : Exception(msg, errno) {}
+ Warning(const std::string& msg, int in_errno) : Exception(msg, in_errno) {}
+ Warning(const char *msg, int in_errno) : Exception(msg, in_errno) {}
};
class Error : public Exception
{
public:
- Error(const std::string& msg, bool errno) : Exception(msg, errno) {}
- Error(const char *msg, bool errno) : Exception(msg, errno) {}
+ Error(const std::string& msg, int in_errno) : Exception(msg, in_errno) {}
+ Error(const char *msg, int in_errno) : Exception(msg, in_errno) {}
virtual ~Error() throw() {}
};