Condividi tramite


Classe logic_error

La classe funge da classe da classe di base per tutte le eccezioni generate per segnalare errori presumibilmente rilevabili prima di eseguire il programma, ad esempio violazioni precondizioni logiche.

Sintassi

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

    explicit logic_error(const char *message);

};

Osservazioni:

Il valore restituito da what() è una copia di message.data(). Per altre informazioni, vedere what e data.

Esempio

// 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
*/

Requisiti

Header:<stdexcept>

Spazio dei nomi: std

Vedi anche

Classe exception
Thread Safety in the C++ Standard Library (Sicurezza dei thread nella libreria standard C++)