我有一个在两个进程之间使用的方法,该方法必须在存在的情况下返回寄存器值(uint32_t),但在传递的索引超出范围的情况下,我还需要返回错误。
uint32_t getRegister(uint32_t index) {
...
}
我不想将指针作为out参数传递。
那么,我该怎么办呢?我可以抛出异常吗?有更好的解决方案吗?
提前致谢!
最佳答案
万一您可以为错误情况0或0xffffffff或类似的情况保留返回值,我认为最好抛出一个异常。
我还将添加一种方法来检查索引是否有效,以防万一某些用户想对该库进行无异常编码,他会知道有效的寄存器可用。就像是:
bool isValidRegister(uint32_t index);
关于c++ - 当索引超出范围时,检索方法是否应该引发异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25202685/