Freigeben über


logic_error Class

 

The latest version of this topic can be found at logic_error Class.

The class serves as the base class for all exceptions thrown to report errors presumably detectable before the program executes, such as violations of logical preconditions.

Syntax

class logic_error : public exception {  
public:  
    explicit logic_error(const string& message);

    explicit logic_error(const char *message);

};  

Remarks

The value returned by what is a copy of message.data.

Example

// logic_error.cpp  
// compile with: /EHsc /GR  
#include <iostream>  
using namespace std;  
  
int main( )  
{  
   try   
   {  
      throw logic_error( "logic error" );  
   }  
   catch ( exception &e )   
   {  
      cerr << "Caught: " << e.what( ) << endl;  
      cerr << "Type: " << typeid( e ).name( ) << endl;  
   };  
}  

Output

Caught: logic error  
Type: class std::logic_error  

Requirements

Header: <stdexcept>

Namespace: std

See Also

exception Class
Thread Safety in the C++ Standard Library