std::domain_error
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  
<stdexcept>
  | 
||
|   class domain_error; 
 | 
||
Defines a type of object to be thrown as exception. It reports errors that arise because a mathematical function is not defined for the value of the argument (e.g. std::sqrt(-1)).
[edit] Member functions
|   constructs the exception object  (public member function)  | 
|
Inherited from std::exception
Member functions
|    [virtual] 
 | 
  destructs the exception object  (virtual public member function of std::exception) 
 | 
|    [virtual] 
 | 
   returns an explanatory string  (virtual public member function of std::exception) 
 | 
