algorithm - 我应该启动错误还是更正值

标签 algorithm error-handling

假设我们创建一个列表类,该类具有一个功能,该功能消除了位置a至位置b的元素。

该类应该由其他程序员使用(例如std::list)。

例:
列出值:{0,1,2,3,4,5,6},我们用(begin = 2,end = 5)调用此函数。
这会将列表更改为{0,1,6}

如果用户使用end> size of list来调用该函数,则最好重新分配end = size并删除直到最后一个,或者启动一个异常,例如out_of_range?

最佳答案

这是关于编程标准的好问题。如果有人使用end> size调用您的方法,则从技术上讲,他们违反了您的函数先决条件。程序员可能会调用您的函数,以为它做了其他事情,例如消除了它们给出的值之间的所有列表值。如果您的函数没有引发异常,那么他们将不会知道任何错误,直到以后出现逻辑错误。如果给定不正确的参数,则最佳实践是引发异常,解释它们的错误之处。这给使用您的功能的人带来了更大的挑战,但后来为他们节省了更多的麻烦。

关于algorithm - 我应该启动错误还是更正值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61148961/

相关文章:

javascript - 如何绕过express的错误处理

r - 多次尝试一个表达式,直到它在 R 中成功

c++ - 以下搜索算法的时间复杂度是多少?

algorithm - 为什么使用接下来的两个命令来填补 paxos 事件之间的空白是合法的?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

laravel - Laravel上的Facade\Ignition\Exceptions\ViewException错误?

java - 创建按钮时出现我不明白的奇怪错误

c - 哪种计算 nCr 的方法更好

algorithm - 多重二进制搜索和比较算法的复杂性

c - 如何近似LUT索引?