51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef EXCEPTIONS_HEADER
-#define EXCEPTIONS_HEADER
+#pragma once
#include <exception>
#include <string>
class BaseException : public std::exception
{
public:
- BaseException(const std::string s) throw()
- {
- m_s = s;
- }
- ~BaseException() throw() {}
+ BaseException(const std::string &s) throw(): m_s(s) {}
+ ~BaseException() throw() = default;
+
virtual const char * what() const throw()
{
return m_s.c_str();
std::string m_s;
};
-class AsyncQueuedException : public BaseException {
-public:
- AsyncQueuedException(std::string s): BaseException(s) {}
-};
-
-class NotImplementedException : public BaseException {
-public:
- NotImplementedException(std::string s): BaseException(s) {}
-};
-
class AlreadyExistsException : public BaseException {
public:
- AlreadyExistsException(std::string s): BaseException(s) {}
+ AlreadyExistsException(const std::string &s): BaseException(s) {}
};
class VersionMismatchException : public BaseException {
public:
- VersionMismatchException(std::string s): BaseException(s) {}
+ VersionMismatchException(const std::string &s): BaseException(s) {}
};
class FileNotGoodException : public BaseException {
public:
- FileNotGoodException(std::string s): BaseException(s) {}
+ FileNotGoodException(const std::string &s): BaseException(s) {}
};
-class SerializationError : public BaseException {
+class DatabaseException : public BaseException {
public:
- SerializationError(std::string s): BaseException(s) {}
+ DatabaseException(const std::string &s): BaseException(s) {}
};
-class LoadError : public BaseException {
+class SerializationError : public BaseException {
public:
- LoadError(std::string s): BaseException(s) {}
+ SerializationError(const std::string &s): BaseException(s) {}
};
-class ContainerFullException : public BaseException {
+class PacketError : public BaseException {
public:
- ContainerFullException(std::string s): BaseException(s) {}
+ PacketError(const std::string &s): BaseException(s) {}
};
class SettingNotFoundException : public BaseException {
public:
- SettingNotFoundException(std::string s): BaseException(s) {}
+ SettingNotFoundException(const std::string &s): BaseException(s) {}
};
class InvalidFilenameException : public BaseException {
public:
- InvalidFilenameException(std::string s): BaseException(s) {}
+ InvalidFilenameException(const std::string &s): BaseException(s) {}
};
-class ProcessingLimitException : public BaseException {
+class ItemNotFoundException : public BaseException {
public:
- ProcessingLimitException(std::string s): BaseException(s) {}
+ ItemNotFoundException(const std::string &s): BaseException(s) {}
};
-class CommandLineError : public BaseException {
+class ServerError : public BaseException {
public:
- CommandLineError(std::string s): BaseException(s) {}
+ ServerError(const std::string &s): BaseException(s) {}
};
-class ItemNotFoundException : public BaseException {
+class ClientStateError : public BaseException {
public:
- ItemNotFoundException(std::string s): BaseException(s) {}
+ ClientStateError(const std::string &s): BaseException(s) {}
};
-class ServerError : public BaseException {
+class PrngException : public BaseException {
public:
- ServerError(std::string s): BaseException(s) {}
+ PrngException(const std::string &s): BaseException(s) {}
};
-// Only used on Windows (SEH)
-class FatalSystemException : public BaseException {
+class ModError : public BaseException {
public:
- FatalSystemException(std::string s): BaseException(s) {}
+ ModError(const std::string &s): BaseException(s) {}
};
+
/*
Some "old-style" interrupts:
*/
+class InvalidNoiseParamsException : public BaseException {
+public:
+ InvalidNoiseParamsException():
+ BaseException("One or more noise parameters were invalid or require "
+ "too much memory")
+ {}
+
+ InvalidNoiseParamsException(const std::string &s):
+ BaseException(s)
+ {}
+};
+
class InvalidPositionException : public BaseException
{
public:
InvalidPositionException():
BaseException("Somebody tried to get/set something in a nonexistent position.")
{}
- InvalidPositionException(std::string s):
+ InvalidPositionException(const std::string &s):
BaseException(s)
{}
};
-
-class TargetInexistentException : public std::exception
-{
- virtual const char * what() const throw()
- {
- return "Somebody tried to refer to something that doesn't exist.";
- }
-};
-
-class NullPointerException : public std::exception
-{
- virtual const char * what() const throw()
- {
- return "NullPointerException";
- }
-};
-
-#endif
-