例如,我有一些具有Load()
功能的类。
class DB {
private:
pt_db *db;
public:
DB(const char *path);
Write(const char *path);
int Load(const char *path);
};
我想Load()
根据传递的参数从函数返回一些状态。
例如:
Load(<correct path to the file with valid content>) // return 0 - success
Load(<non-existent path to file>) // return 1
Load(<correct file path, but the content of the file is wrong>) // return 2
尽管如此,我也担心:
类型安全 - 我的意思是我想返回一些只能用作状态码的对象。
int res = Load(<file path>); int other = res * 2; // Should not be possible
仅使用预定义的值。我
int
可以错误地返回一些其他状态,例如return 3
(让我们建议函数中发生了错误Load()
),如果我不希望会传递此错误代码:int res = Load(<file path>); if(res == 1) {} else if (res == 2) {}; ... // Here I have that code fails by reason that Load() returned non-expected 3 value
使用关于它的最佳 C++11 实践。
有人可以帮忙吗?