我使用的是(C)库函数采取不同的参数,但总是在错误的情况下返回大于零的int:是否有可能proxify任何功能
int functionA(int param1, char param2); /* return an error code on failure, 0 otherwise */
int functionB(LIB_BOOLEAN param1); /* return an error code on failure, 0 otherwise */
// ...
我想他们都转向准备好例外:
if (functionA(param1, param2) > 0)
{ throw std::runtime_error("Method failed"); }
是否有可能为所有方法编写一次模板?
编辑: 这个想法是为了避免每次使用它时检查每个函数的结果。
你为什么要这么做? 'assert()'有什么问题?更好:单元测试。 – tadman
你当然可以通过预处理器宏来做到这一点。 –
* poxify *是什么意思? – Barmar