diff options
author | Perttu Ahola <celeron55@gmail.com> | 2010-11-27 01:02:21 +0200 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2010-11-27 01:02:21 +0200 |
commit | 4e249fb3fbf75f0359758760d88e22aa5b14533c (patch) | |
tree | 323087d05efbd2ace27b316d4f017cf812a31992 /src/exceptions.h | |
download | minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.tar.gz minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.tar.bz2 minetest-4e249fb3fbf75f0359758760d88e22aa5b14533c.zip |
Initial files
Diffstat (limited to 'src/exceptions.h')
-rw-r--r-- | src/exceptions.h | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/src/exceptions.h b/src/exceptions.h new file mode 100644 index 000000000..cbe13f1f3 --- /dev/null +++ b/src/exceptions.h @@ -0,0 +1,116 @@ +#ifndef EXCEPTIONS_HEADER +#define EXCEPTIONS_HEADER + +#include <exception> + +class BaseException : public std::exception +{ +public: + BaseException(const char *s) + { + m_s = s; + } + virtual const char * what() const throw() + { + return m_s; + } + const char *m_s; +}; + +class AsyncQueuedException : public BaseException +{ +public: + AsyncQueuedException(const char *s): + BaseException(s) + {} +}; + +class NotImplementedException : public BaseException +{ +public: + NotImplementedException(const char *s): + BaseException(s) + {} +}; + +class AlreadyExistsException : public BaseException +{ +public: + AlreadyExistsException(const char *s): + BaseException(s) + {} +}; + +class VersionMismatchException : public BaseException +{ +public: + VersionMismatchException(const char *s): + BaseException(s) + {} +}; + +class FileNotGoodException : public BaseException +{ +public: + FileNotGoodException(const char *s): + BaseException(s) + {} +}; + +class SerializationError : public BaseException +{ +public: + SerializationError(const char *s): + BaseException(s) + {} +}; + +class LoadError : public BaseException +{ +public: + LoadError(const char *s): + BaseException(s) + {} +}; + +class ContainerFullException : public BaseException +{ +public: + ContainerFullException(const char *s): + BaseException(s) + {} +}; + +/* + Some "old-style" interrupts: +*/ + +class InvalidPositionException : public BaseException +{ +public: + InvalidPositionException(): + BaseException("Somebody tried to get/set something in a nonexistent position.") + {} + InvalidPositionException(const char *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 + |