В коде Visual С++ используется конструктор std:: exception, который принимает строку, и я пытаюсь перенести код в Linux/g++. Какой класс исключений я должен использовать?
Альтернатива для std:: exception (const char *) нестандартного конструктора
Ответ 1
Конструктор Microsoft Visual С++ std::exception(const char*)
нестандартен. Хотя в стандартной библиотеке С++ std:: exception имеет метод const char* what() const
, он не предоставляет способ указания строки, кроме переопределения.
Вы должны переписать свой код, чтобы использовать std::runtime_error
или один из других классов из <stdexcept>
в качестве альтернативы. Существующий код, который ловит std:: exception, не обязательно должен быть изменен, конечно, поскольку из него выводится std:: runtime_error.