OpenRTM / OpenRTM-aist

OpenRTM-aist: RT-Middleware and OMG RTC implementation in C++ implemented by AIST
https://openrtm.org/
Other
19 stars 12 forks source link

ConsoleInで不正な値を入力したときにエラー状態に遷移するようにする #722

Closed Nobu19800 closed 4 years ago

Nobu19800 commented 4 years ago

Is your feature request related to a problem? Please describe. ConsoleInに文字列等を入力してもエラーに遷移せず、またその後標準入力を受け付けなくなるのでエラーに遷移すべきでは?

Describe the solution you'd like 以下のようにエラー処理をするだけで解決する。

std::cin >> m_out.data;
if(std::cin.fail())
{
    std::cin.clear();
    std::cin.ignore(1024, '\n');
    return RTC::RTC_ERROR;
}

Describe alternatives you've considered

Additional context ConsoleInの動作仕様不明のため、現在の動作が仕様通りの場合はこのissueは閉じてください。

n-ando commented 4 years ago

エラー状態に遷移したほうが親切なので、この処理をConsoleInに追加してください。

n-ando commented 4 years ago

PRをmergeしたので閉じます。