Класс domain_error
Класс служит базовым классом для всех исключений, создаваемых для сообщения об ошибке домена (как в математике, а не в сети).
Синтаксис
class domain_error : public logic_error {
public:
explicit domain_error(const string& message);
explicit domain_error(const char *message);
};
Замечания
Возвращаемое what()
значением является копия message.data()
. Дополнительные сведения см. в разделах what
и data
.
domain_error
не вызывается никакими функциями в реализации стандартной библиотеки C++, но может быть вызван сторонними библиотеками или пользовательским кодом.
Пример
// domain_error.cpp
// compile with: /EHsc
#include <exception>
#include <iostream>
#include <stdexcept>
#include <typeinfo>
using namespace std;
int main()
{
try
{
throw domain_error("Your domain is in error!");
}
catch (const exception& e)
{
cerr << "Caught: " << e.what() << endl;
cerr << "Type: " << typeid(e).name() << endl;
}
}
/* Output:
Caught: Your domain is in error!
Type: class std::domain_error
*/
Требования
Заголовок:<stdexcept>
Пространство имен: std
См. также
Класс logic_error
Потокобезопасность в стандартной библиотеке C++
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по