В C++ следует использовать std::runtime_error
, чтобы указать на какую-то ошибку, или мне следует создать собственные исключения, которые наследуются от std::runtime_error
, чтобы я мог лучше их обрабатывать.
Например, если бы я каким-то образом получил ввод от пользователя, что было бы лучше:
if (inputInvalid)
{
throw std::runtime_error("Invalid input!");
}
По сравнению с...
class invalid_input
: public std::runtime_error /* or should I inherit from std::exception? */
{
public:
invalid_input()
: std::runtime_error("Invalid input!")
{
};
};
-------------------------------------------------------
if (inputInvalid)
{
throw invalid_input();
}
Что считается лучшим использованием обработки исключений/что лучше использовать?