我使用的是(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