| title |
logic_error Class | Microsoft Docs |
| ms.custom |
|
| ms.date |
11/04/2016 |
| ms.reviewer |
|
| ms.suite |
|
| ms.technology |
|
| ms.tgt_pltfrm |
|
| ms.topic |
article |
| f1_keywords |
stdexcept/std::logic_error |
logic_error |
|
| dev_langs |
|
| helpviewer_keywords |
|
| ms.assetid |
b290d73d-94e1-4288-af86-2bb5d71f677a |
| caps.latest.revision |
22 |
| author |
corob-msft |
| ms.author |
corob |
| manager |
ghogen |
| translation.priority.ht |
cs-cz |
de-de |
es-es |
fr-fr |
it-it |
ja-jp |
ko-kr |
pl-pl |
pt-br |
ru-ru |
tr-tr |
zh-cn |
zh-tw |
|
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;
};
}
Output
Caught: logic error
Type: class std::logic_error
Header: <stdexcept>
Namespace: std
exception Class
Thread Safety in the C++ Standard Library