| title |
logic_error Class | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.technology |
|
| ms.topic |
reference |
| f1_keywords |
stdexcept/std::logic_error |
|
| dev_langs |
|
| helpviewer_keywords |
|
| ms.assetid |
b290d73d-94e1-4288-af86-2bb5d71f677a |
| author |
corob-msft |
| ms.author |
corob |
| ms.workload |
|
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);
explicit logic_error(const char *message);
};
Remarks
The value returned by what is a copy of message.data.
// 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;
};
}
Caught: logic error
Type: class std::logic_error
Header: <stdexcept>
Namespace: std
exception Class
Thread Safety in the C++ Standard Library