X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fexceptions.h;h=67a2d0df634079ef21b90a5d429e2654f7973796;hb=f8ad01ab7c4cf012781bd4caa821544e676c9267;hp=6fb97f3ed3758a52db40d5905519b229b9339ede;hpb=49cec3f78240ed6310a9b5dd05ce09a79ed5a12e;p=oweals%2Fminetest.git diff --git a/src/exceptions.h b/src/exceptions.h index 6fb97f3ed..67a2d0df6 100644 --- a/src/exceptions.h +++ b/src/exceptions.h @@ -27,7 +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() + BaseException(const std::string &s) throw() { m_s = s; } @@ -42,91 +42,123 @@ protected: 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(std::string s): BaseException(s) {} +}; + +class PrngException : public BaseException { +public: + PrngException(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) {} };