title: Looser Throw Specifier in C++
body: <p>What does this error mean? How can I fix it? This is the header code that's causing it:</p>
  
  <pre><code>class BadJumbleException : public exception {
  public:
      BadJumbleException (const string&amp; msg); // Constructor, accepts a string as the message
      string&amp; what();                         // Returns the message string
  private:
      string message;                         // Stores the exception message
  };
  </code></pre>
  
  <p>And this is the source code:</p>
  
  <pre><code>BadJumbleException::BadJumbleException (const string&amp; m) : message(m) {}
  string&amp; BadJumbleException::what() { return message; }
  </code></pre>
  
  <p>EDIT: This is the error:</p>
  
  <blockquote>
    <p>looser throw specifier for 'virtual BadJumbleException::~BadJumbleException()</p>
  </blockquote>