std::logic_error
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  
<stdexcept>
  | 
||
|   class logic_error; 
 | 
||
Defines a type of object to be thrown as exception. It reports errors that are a consequence of faulty logic within the program such as violating logical preconditions or class invariants and may be preventable.
[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) 
 | 
