]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/base.h
Clean up CoreException
[user/henk/code/inspircd.git] / include / base.h
index 86aa2769fc3112956b3666a24708637c1720e8dc..ec95342fcd2909882d75c7ab0a828b24ec5eea5c 100644 (file)
@@ -179,21 +179,23 @@ class reference
  */
 class CoreExport CoreException : public std::exception
 {
- public:
+ protected:
        /** Holds the error message to be displayed
         */
        const std::string err;
        /** Source of the exception
         */
        const std::string source;
-       /** Default constructor, just uses the error mesage 'Core threw an exception'.
-        */
-       CoreException() : err("Core threw an exception"), source("The core") {}
+
+ public:
        /** This constructor can be used to specify an error message before throwing.
+        * @param message Human readable error message
         */
        CoreException(const std::string &message) : err(message), source("The core") {}
        /** This constructor can be used to specify an error message before throwing,
         * and to specify the source of the exception.
+        * @param message Human readable error message
+        * @param src Source of the exception
         */
        CoreException(const std::string &message, const std::string &src) : err(message), source(src) {}
        /** This destructor solves world hunger, cancels the world debt, and causes the world to end.
@@ -202,17 +204,14 @@ class CoreExport CoreException : public std::exception
         */
        virtual ~CoreException() throw() {};
        /** Returns the reason for the exception.
-        * The module should probably put something informative here as the user will see this upon failure.
+        * @return Human readable description of the error
         */
-       virtual const char* GetReason()
-       {
-               return err.c_str();
-       }
+       const std::string& GetReason() const { return err; }
 
-       virtual const char* GetSource()
-       {
-               return source.c_str();
-       }
+       /** Returns the source of the exception
+        * @return Source of the exception
+        */
+       const std::string& GetSource() const { return source; }
 };
 
 class Module;