class
<stdexcept>
std::invalid_argument
Invalid argument exception
This class defines the type of objects thrown as exceptions to report an invalid argument.
It is a standard exception that can be thrown by programs. Some components of the standard library also throw exceptions of this type to signal invalid arguments.
It is defined as:
| 12
 3
 4
 
 | class invalid_argument : public logic_error {
public:
  explicit invalid_argument (const string& what_arg);
};
 | 
 
| 12
 3
 4
 5
 
 | class invalid_argument : public logic_error {
public:
  explicit invalid_argument (const string& what_arg);
  explicit invalid_argument (const char* what_arg);
};
 | 
 
 
Members
- constructor
- The string passed as what_arg has the same content as the value returned by member what.
The class inherits the what member function from logic_error.
Example
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | // invalid_argument example
#include <iostream>       // std::cerr
#include <stdexcept>      // std::invalid_argument
#include <bitset>         // std::bitset
#include <string>         // std::string
int main (void) {
  try {
    // bitset constructor throws an invalid_argument if initialized
    // with a string containing characters other than 0 and 1
    std::bitset<5> mybitset (std::string("01234"));
  }
  catch (const std::invalid_argument& ia) {
	  std::cerr << "Invalid argument: " << ia.what() << '\n';
  }
  return 0;
}
 | 
Possible output:
| 
Invalid argument: bitset::_M_copy_from_string
 | 
Exception safety
Strong guarantee: if the constructor throws an exception, there are no side effects.