FreeBSD Manual Pages
std::invalid_argument(3) C++ Standard Libary std::invalid_argument(3) NAME std::invalid_argument - std::invalid_argument Synopsis Defined in header <stdexcept> class invalid_argument; Defines a type of object to be thrown as exception. It reports er- rors that arise because an argument value has not been accepted. This exception is thrown by std::bitset::bitset, and the std::stoi and std::stof families of functions. std-invalid argument-inheritance.svg Inheritance diagram Member functions constructor constructs a new invalid_argument object with the given message (public member function) operator= replaces the invalid_argument object (public member function) what returns the explanatory string (public member function) std::invalid_argument::invalid_argument invalid_argument( const std::string& what_arg ); (1) invalid_argument( const char* what_arg ); (2) (since C++11) invalid_argument( const invalid_argument& other ); (until C++11) invalid_argument( const invalid_argument& other ) (3) (since C++11) noexcept; 1-2) Constructs the exception object with what_arg as explanatory string that can be accessed through what(). 3) Copy constructor. If *this and other both have dynamic type std::invalid_argument then std::strcmp(what(), other.what()) == 0. (since C++11) Parameters what_arg - explanatory string other - another exception object to copy Exceptions 1-2) May throw std::bad_alloc Notes Because copying std::invalid_argument is not permitted to throw ex- ceptions, this message is typically stored internally as a separately-allocated reference-counted string. This is also why there is no constructor taking std::string&&: it would have to copy the content anyway. std::invalid_argument::operator= invalid_argument& operator=( const invalid_argument& other ); (until C++11) invalid_argument& operator=( const invalid_argument& other ) (since C++11) noexcept; Assigns the contents with those of other. If *this and other both have dynamic type std::invalid_argument then std::strcmp(what(), other.what()) == 0 after assignment. (since C++11) Parameters other - another exception object to assign with Return value *this std::invalid_argument::what virtual const char* what() const throw(); (until C++11) virtual const char* what() const noexcept; (since C++11) Returns the explanatory string. Parameters (none) Return value Pointer to a null-terminated string with explanatory information. The string is suitable for conversion and display as a std::wstring. The pointer is guaranteed to be valid at least until the exception object from which it is ob- tained is destroyed, or until a non-const member function (e.g. copy assignment operator) on the exception object is called. Notes Implementations are allowed but not required to override what(). Inherited from std::logic_error Inherited from std::exception Member functions destructor destroys the exception object [virtual] (virtual public member function of std::exception) what returns an explanatory string [virtual] (virtual public member function of std::exception) Notes The purpose of this exception type is similar to the error condition std::errc::invalid_argument (thrown in std::system_error from member functions of std::thread) and the related errno constant EINVAL. Example // Run this code #include <bitset> #include <iostream> #include <stdexcept> #include <string> int main() { try { std::bitset<4>{"012"}; // Throws: only '0' or '1' expected } catch (std::invalid_argument const& ex) { std::cout << "#1: " << ex.what() << '\n'; } try { [[maybe_unused]] int f = std::stoi("ABBA"); // Throws: no con- version } catch (std::invalid_argument const& ex) { std::cout << "#2: " << ex.what() << '\n'; } try { [[maybe_unused]] float f = std::stof("(3.14)"); // Throws: no conversion } catch (std::invalid_argument const& ex) { std::cout << "#3: " << ex.what() << '\n'; } } Possible output: #1: bitset string ctor has invalid argument #2: stoi: no conversion #3: stof: no conversion http://cppreference.com 2022.07.31 std::invalid_argument(3)
NAME | Synopsis | Member functions | Parameters | Exceptions | Notes | Parameters | Return value | Parameters | Return value | Notes | Member functions | Notes | Example | Possible output:
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::invalid_argument&sektion=3&manpath=FreeBSD+Ports+15.0>
