どのクラスにでも当てはまりそうな戻り値はどのように管理するのが一般的なのでしょうか?
例としては無効な引数、〜が見つからない、致命的なエラーなどです。

クラス毎に static const 〜 としてもいいのですが、同じ値に保つのが面倒になりそうだし、、、

専用のクラスを作り下記のようにしようかと考えたのですが、スマートではない気がしています。
皆さんはどうされていますか? よろしくお願いします。


class CResultCode {
static const int s_success = 1;
static const int s_falal_error = -1;
static const int s_invalid_param = -2;
static const int s_file_not_found = -10;

static bool IsSuccessful(int in_result) { return in_result > 0; };
};

class CHoge {
int Hoge(){ return CResultCode::s_successed; };
};


void main() {
CHoge hoge;
int res = hoge->Hoge();
if ( !CResultCode::IsSuccessful(res)){
エラー処理
  }
}