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();
}
例外処理のより良い使用法と見なされるのはどれですか?