X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fexceptions.h;h=1b39c6725a7921a86f2cba8ccfc5b5707f864037;hb=0e0c824ea75a812a99c7d329c3a4862d6beadf3b;hp=6fb97f3ed3758a52db40d5905519b229b9339ede;hpb=49cec3f78240ed6310a9b5dd05ce09a79ed5a12e;p=dragonfireclient.git diff --git a/src/exceptions.h b/src/exceptions.h index 6fb97f3ed..1b39c6725 100644 --- a/src/exceptions.h +++ b/src/exceptions.h @@ -27,10 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc., class BaseException : public std::exception { public: - BaseException(const std::string s) throw() - { - m_s = s; - } + BaseException(const std::string &s) throw(): m_s(s) {} ~BaseException() throw() {} virtual const char * what() const throw() { @@ -42,91 +39,123 @@ class BaseException : public std::exception class AsyncQueuedException : public BaseException { public: - AsyncQueuedException(std::string s): BaseException(s) {} + AsyncQueuedException(const std::string &s): BaseException(s) {} }; class NotImplementedException : public BaseException { public: - NotImplementedException(std::string s): BaseException(s) {} + NotImplementedException(const 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 DatabaseException : public BaseException { +public: + DatabaseException(const std::string &s): BaseException(s) {} }; class SerializationError : public BaseException { public: - SerializationError(std::string s): BaseException(s) {} + SerializationError(const std::string &s): BaseException(s) {} +}; + +class PacketError : public BaseException { +public: + PacketError(const std::string &s): BaseException(s) {} }; class LoadError : public BaseException { public: - LoadError(std::string s): BaseException(s) {} + LoadError(const std::string &s): BaseException(s) {} }; class ContainerFullException : public BaseException { public: - ContainerFullException(std::string s): BaseException(s) {} + ContainerFullException(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 { public: - ProcessingLimitException(std::string s): BaseException(s) {} + ProcessingLimitException(const std::string &s): BaseException(s) {} }; class CommandLineError : public BaseException { public: - CommandLineError(std::string s): BaseException(s) {} + CommandLineError(const std::string &s): BaseException(s) {} }; class ItemNotFoundException : public BaseException { public: - ItemNotFoundException(std::string s): BaseException(s) {} + ItemNotFoundException(const std::string &s): BaseException(s) {} }; class ServerError : public BaseException { public: - ServerError(std::string s): BaseException(s) {} + ServerError(const std::string &s): BaseException(s) {} +}; + +class ClientStateError : public BaseException { +public: + ClientStateError(const std::string &s): BaseException(s) {} }; -// Only used on Windows (SEH) -class FatalSystemException : public BaseException { +class PrngException : public BaseException { public: - FatalSystemException(std::string s): BaseException(s) {} + PrngException(const std::string &s): BaseException(s) {} }; +class ModError : public BaseException { +public: + 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) {} };