Share via


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.

class logic_error : public exception {
public:
    explicit logic_error(const string& message);
    virtual const char *what();
};

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

Reference

exception Class

Thread Safety in the Standard C++ Library

Other Resources

<stdexcept> Members