Skip to content

Latest commit

 

History

History
67 lines (52 loc) · 1.49 KB

File metadata and controls

67 lines (52 loc) · 1.49 KB
description Learn more about: logic_error Class
title logic_error Class
ms.date 09/09/2021
f1_keywords
stdexcept/std::logic_error
helpviewer_keywords
logic_error class
ms.assetid b290d73d-94e1-4288-af86-2bb5d71f677a

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(). For more information, see what and data.

Example

// logic_error.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
#include <stdexcept>
#include <typeinfo>
using namespace std;

int main()
{
   try
   {
      throw logic_error("Does not compute!");
   }
   catch (const exception& e)
   {
      cerr << "Caught: " << e.what() << endl;
      cerr << "Type: " << typeid(e).name() << endl;
   }
}
/* Output:
Caught: Does not compute!
Type: class std::logic_error
*/

Requirements

Header: <stdexcept>

Namespace: std

See also

exception Class
Thread Safety in the C++ Standard Library