logic_error 类
此类用作引发报告执行程序前大概可检测的错误(例如,违反逻辑前提条件)的所有异常的基类。
语法
class logic_error : public exception {
public:
explicit logic_error(const string& message);
explicit logic_error(const char *message);
};
备注
what()
返回的值是 message.data()
的副本。 有关详细信息,请参阅 what
和 data
。
示例
// 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
*/
要求
标头:<stdexcept>
命名空间: std