ストリーム抽出が失敗しないと仮定すると、これは
if( !(stream >> token) )
throw runtime_error( "Unexpected end of recipe." );
else if( token == "something" )
// do something
else
throw runtime_error( "Unknown token" );
このように働きます
if( !(stream >> token) )
throw std::runtime_error( "Unexpected end of recipe." );
if( token == "something" )
// do something
else
throw std::runtime_error( "Unknown token" );
(ストリーム = std::stringstream およびトークン = std::string) そして、予想される結果にtoken
は、ストリームからの次の...トークンが含まれていますか? エラーを処理するより良い方法はありますか? cerr << "error whatever" << endl; exit();
または何か、または私は十分std::runtime_error
ですか?