diff --git a/src/Date.cpp b/src/Date.cpp index 78ba34ff7..6ac654976 100644 --- a/src/Date.cpp +++ b/src/Date.cpp @@ -120,7 +120,7 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) // Double digit. case 'y': - if (i + 1 >= mdy.length () || + if (i + 1 >= mdy.length () || ! ::isdigit (mdy[i + 0]) || ! ::isdigit (mdy[i + 1])) { @@ -181,6 +181,9 @@ Date::Date (const std::string& mdy, const std::string& format /* = "m/d/Y" */) } } + if (i < mdy.length ()) + throw std::string ("\"") + mdy + "\" is not a valid date in " + format + " format."; + if (!valid (month, day, year)) throw std::string ("\"") + mdy + "\" is not a valid date.";