在 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();
}
哪个被认为更好地使用异常处理/哪个更好?